我使用qt designer和pyqt构建了一个主窗口GUI。随着程序变得更加复杂,仅使用一个类可能会导致要管理的方法和属性过多。我想应该构建新的类来使事情更易于管理。
我的第一个问题是,我如何知道何时为我的应用程序添加新的类?是否有一般性的规则作为指导?为新的窗口/选项卡添加新类是一个好主意吗?
我的第二个问题是,如果我为我的应用程序添加了新类,我的新类如何访问我在Qt Designer中设计的Ui_MainWindow设计文件?下面是我的主窗口的示例代码。它是一个简单的时钟,显示当前时间。假设我想为时钟显示本身创建一个类,如何有效地使用OOP重写代码?
from PyQt4 import QtGui
from myMainWindowUI import Ui_MainWindow
class MyMainWindow(QtGui.QMainWindow, Ui_MainWindow):
def __init__(self, *args, **kwargs):
super(MyMainWindow, self).__init__(*args, **kwargs)
self.setupUi(self)
self.timer = QtCore.QTimer(self)
self.timer.timeout.connect(self.Time)
self.timer.timeout.connect(self.Date)
self.timer.start(1000)
self.lcdNumber_time.setDigitCount(8)
self.lcdNumber_time.display(strftime("%H"+":"+"%M"+":"+"%S"))
self.label_dynamic_date.setText(strftime("%Y"+" "+"%B"+" "+"%d"+", "+"%A"))
def Time(self):
self.lcdNumber_time.display(strftime("%H"+":"+"%M"+":"+"%S"))
def Date(self):
self.label_dynamic_date.setText(strftime("%Y"+" "+"%B"+" "+"%d"+", "+"%A"))
app = QtGui.QApplication(sys.argv) # A new instance of QApplication
form = MyMainWindow()
form.show()
app.exec_()