import sys
from PyQt4 import QtCore, QtGui, uic
class MainWindow(QtGui.QMainWindow):
def __init__(self):
QtGui.QMainWindow.__init__(self)
self.Dynamic_log = uic.loadUi("Dynamic_log.ui")
self.Dynamic_log.show()
self.Main_Window = uic.loadUi("Main_Window.ui")
self.Main_Window.hide()
self.Dynamic_log.Continue_Button.clicked.connect(self.Continue2)
def Continue2(self):
***self.Main_Window.addWidget(self.progress_label)***
self.Main_Window.show()
self.Dynamic_log.hide()
app = QtGui.QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec_())三重星号是我卡住的地方。这一行代码解释了我想要实现的目标,但是返回一个错误。我想使用这种方法加载.ui文件,然后仍然能够添加更多的工具、进度条、标签按钮等.然后进入Main_Window。
我希望以这种方式加载.ui文件的原因是,布局和更改更容易
我以后需要添加自定义工具的原因是,我打算运行线程,必须根据用户的判断和重复工具的数量来匹配线程数。
发布于 2013-05-18 10:00:14
在没有任何运气的情况下寻找答案之后,我自己解决了这个问题。
在pyqt4 Designer文件(Main_Window)中创建了一个Main_Window之后,我就能够引用它(引用它的名称,在本例中是ProgressThreads),就像不用uic.loadUi导入方法一样。
工作代码如下,
class MyWindow(QWidget):
def __init__(self, *args):
QWidget.__init__(self, *args)
self.Dynamic_log = uic.loadUi("Dynamic_log.ui")
self.Dynamic_log.show()
self.Main_Window = uic.loadUi("Main_Window.ui")
self.Main_Window.hide()
layout = self.Main_Window.ProgressThreads
self.progress_label = QLabel(" ")
layout.addWidget(self.progress_label)
self.progress_label.setText('0%')
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
window = MyWindow()
sys.exit(app.exec_())从QMainWindow更改为QWidget也是非常必要的。
https://stackoverflow.com/questions/16607178
复制相似问题