我开始学习一点python,现在想玩gui-building.由于其跨平台性,Qt似乎是一个不错的选择.
现在似乎有两种绑定:Riverbank Computing的PyQt和最初由诺基亚开发的PySide.
那么我应该选择哪一个?我所能找到的只是两年的特征比较,但现在有什么不同?
哪一个更容易使用,有更多/更好的文档?两者还在积极发展吗?
许可证对我来说并不是很重要,因为我不打算编写商业应用程序.
我不能在我的pyqt应用程序中使用time.sleep因为冻结了GUI线程,因此GUI将在此期间完全冻结.我一直在寻找一种方法来处理这个问题.
我尝试使用QTimer,但似乎需要将它们链接到另一个函数?比如等待十秒然后运行一些功能.有没有办法让它等待然后继续当前功能?谢谢!
def num(self):
for i in range(1,999):
print i
#Add some sleep here
def testSleep(self):
QtCore.QTimer.singleShot(2000, self.num)
Run Code Online (Sandbox Code Playgroud) 我创建了自己的代理来拦截 127.0.0.1:6666 上的数据包,我想要它以便从 QWebEngine 发送的所有数据包都发送到代理。我查了一下,发现一些网站说要使用 QNetworkProxy,但它从未显示如何使其正常工作。
这是我在网上找到的一个普通 QWebEngine 程序的代码示例(它工作正常)
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.webView = QtWebEngineWidgets.QWebEngineView(self.centralwidget)
self.webView.setUrl(QtCore.QUrl("http://www.google.com/"))
self.webView.setObjectName("webView")
self.gridLayout.addWidget(self.webView, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
from PyQt5 import QtWebEngineWidgets
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
现在如何设置代理设置或其他任何内容以转到 …