1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
%global _empty_manifest_terminate_build 0
Name: python-qt4reactor
Version: 1.6
Release: 1
Summary: Twisted Qt Integration
License: MIT
URL: https://github.com/ghtdak/qtreactor
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c7/7b/3433ca2a74fa31d7dd5f455ee6ff8ee772bef433c950e1e24c7f057c03a4/qt4reactor-1.6.tar.gz
BuildArch: noarch
%description
Before running / importing any other Twisted code, invoke:
app = QApplication(sys.argv) # your code to init QtCore
from twisted.application import reactors
reactors.installReactor('pyqt4')
or
app = QApplication(sys.argv) # your code to init QtCore
from twisted.application import reactors
reactors.installReactor('pyside4')
alternatively (gui example):
app = PyQt4.QtGui(sys.argv) # your code to init QtGui
from qtreactor import pyqt4reactor
pyqt4reactor.install()
Testing
~~~~~~~
trial --reactor=pyqt4 [twisted] [twisted.test] [twisted.test.test_internet]
Testing with a Gui
~~~~~~~~~~~~~~~~~~
Twisted trial can be run for a Gui test using gtrial. Run Trial in the
same directory as bin/gtrial and it pops up a trivial gui... hit the
buton and it all runs the same... don't use the --reactor option when
calling gtrial... but all the other options appear to work.
cp gtrial <test-directory>
cd <test-directory> && trial
If you're writing a conventional Qt application and just want twisted as
an addon, you can get that by calling reactor.runReturn() instead of
run(). This call needs to occur after your installation of of the
reactor and after QApplication.exec\_() (or QCoreApplication.exec\_()
whichever you are using.
reactor.run() will also work as expected in a typical twisted
application
Note that if a QApplication or QCoreApplication instance isn't
constructed prior to calling reactor run, an internally owned
QCoreApplication is created and destroyed. This won't work if you call
runReturn instead of run unless you take responsibility for destroying
QCoreApplication yourself...
However, most users want this reactor to do gui stuff so this shouldn't
be an issue.
Performance impact of Qt has been reduced by minimizing use of signaling
which is expensive.
Examples / tests in ghtTests
%package -n python3-qt4reactor
Summary: Twisted Qt Integration
Provides: python-qt4reactor
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-qt4reactor
Before running / importing any other Twisted code, invoke:
app = QApplication(sys.argv) # your code to init QtCore
from twisted.application import reactors
reactors.installReactor('pyqt4')
or
app = QApplication(sys.argv) # your code to init QtCore
from twisted.application import reactors
reactors.installReactor('pyside4')
alternatively (gui example):
app = PyQt4.QtGui(sys.argv) # your code to init QtGui
from qtreactor import pyqt4reactor
pyqt4reactor.install()
Testing
~~~~~~~
trial --reactor=pyqt4 [twisted] [twisted.test] [twisted.test.test_internet]
Testing with a Gui
~~~~~~~~~~~~~~~~~~
Twisted trial can be run for a Gui test using gtrial. Run Trial in the
same directory as bin/gtrial and it pops up a trivial gui... hit the
buton and it all runs the same... don't use the --reactor option when
calling gtrial... but all the other options appear to work.
cp gtrial <test-directory>
cd <test-directory> && trial
If you're writing a conventional Qt application and just want twisted as
an addon, you can get that by calling reactor.runReturn() instead of
run(). This call needs to occur after your installation of of the
reactor and after QApplication.exec\_() (or QCoreApplication.exec\_()
whichever you are using.
reactor.run() will also work as expected in a typical twisted
application
Note that if a QApplication or QCoreApplication instance isn't
constructed prior to calling reactor run, an internally owned
QCoreApplication is created and destroyed. This won't work if you call
runReturn instead of run unless you take responsibility for destroying
QCoreApplication yourself...
However, most users want this reactor to do gui stuff so this shouldn't
be an issue.
Performance impact of Qt has been reduced by minimizing use of signaling
which is expensive.
Examples / tests in ghtTests
%package help
Summary: Development documents and examples for qt4reactor
Provides: python3-qt4reactor-doc
%description help
Before running / importing any other Twisted code, invoke:
app = QApplication(sys.argv) # your code to init QtCore
from twisted.application import reactors
reactors.installReactor('pyqt4')
or
app = QApplication(sys.argv) # your code to init QtCore
from twisted.application import reactors
reactors.installReactor('pyside4')
alternatively (gui example):
app = PyQt4.QtGui(sys.argv) # your code to init QtGui
from qtreactor import pyqt4reactor
pyqt4reactor.install()
Testing
~~~~~~~
trial --reactor=pyqt4 [twisted] [twisted.test] [twisted.test.test_internet]
Testing with a Gui
~~~~~~~~~~~~~~~~~~
Twisted trial can be run for a Gui test using gtrial. Run Trial in the
same directory as bin/gtrial and it pops up a trivial gui... hit the
buton and it all runs the same... don't use the --reactor option when
calling gtrial... but all the other options appear to work.
cp gtrial <test-directory>
cd <test-directory> && trial
If you're writing a conventional Qt application and just want twisted as
an addon, you can get that by calling reactor.runReturn() instead of
run(). This call needs to occur after your installation of of the
reactor and after QApplication.exec\_() (or QCoreApplication.exec\_()
whichever you are using.
reactor.run() will also work as expected in a typical twisted
application
Note that if a QApplication or QCoreApplication instance isn't
constructed prior to calling reactor run, an internally owned
QCoreApplication is created and destroyed. This won't work if you call
runReturn instead of run unless you take responsibility for destroying
QCoreApplication yourself...
However, most users want this reactor to do gui stuff so this shouldn't
be an issue.
Performance impact of Qt has been reduced by minimizing use of signaling
which is expensive.
Examples / tests in ghtTests
%prep
%autosetup -n qt4reactor-1.6
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-qt4reactor -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.6-1
- Package Spec generated
|