首先让我告诉你,我是 Qt 和 Python 的新手。
我正在使用 Qt(Taurusdesigner) 来创建我的 GUI。 启动 Qt(Taurusdesigner) 后,我使用以下方法为该特定 GUI 生成 python 代码:
taurusuic4 -x -o file.py file.ui
or
pyuic4 -x -o file.py file.ui
在命令行上执行此命令后,我可以生成 python 文件,但自动生成的类如下所示:
class MainWindow(object):
def setupUi(self, MainWindow):
当我在 Google 上搜索任何帮助时,我发现类的写法如下:
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
如何使用 Qt(Taurusdesigner)生成第二种类型的类文件??
为什么我的类和为互联网上的帮助而编写的类存在语法差异。 请帮助解决这个问题。 提前致谢。
最佳答案
由 taurusuic4/pyuic4
生成的 ui 模块应导入到您的主应用程序中。您不需要使用 -x
选项,显然您应该选择比“file”更好的模块名称:
taurusuic4 -o mainwindow.py file.ui
您的主应用程序模块应如下所示:
from PyQt4.QtGui import QMainWindow
from mainwindow import Ui_MainWindow
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.pushButton.clicked.connect(self.handleButton)
def handleButton(self):
print('Hello World!')
这种方法意味着 Qt(Taurus) Designer 中的所有小部件最终都会成为 MainWindow
类的属性。另一种方法是将 ui 元素放在单独的命名空间中:
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.handleButton)
关于python - 如何生成Taurusdesigner或Qt下创建的GUI的Python代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31455001/