使用 PyQt,可以通过三种不同的方式处理在设计器中创建的表单:
- 使用单继承并使表单成为成员变量
- 使用多重继承
- 直接从 UI 文件动态生成成员
单一继承:
class MyTableWidget(QTableWidget):
def __init__(self, parent, *args):
super(MyTableWidget, self).__init__(parent, args)
self.ui = YourFormName()
self.ui.setupUi(self)
# all gui elements are now accessed through self.ui
def mousePressEvent(self, event):
pass # do something useful
多重继承:
class MyTableWidget(QTableWidget, YourFormName):
def __init__(self, parent, *args):
super(MyTableWidget, self).__init__(parent, args)
self.setupUi(self)
# self now has all members you defined in the form
def mousePressEvent(self, event):
pass # do something useful
动态生成:
from PyQt4 import uic
yourFormTypeInstance = uic.loadUi('/path/to/your/file.ui')
对于上面的 (3),您最终会得到您为表单指定的任何基本类型的实例。然后,您可以根据需要覆盖您mousePressEvent
的。
我建议您查看PyQt4 参考手册中的第 13.1 节。第 13.2 节讨论了该模块。uic