首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PyQt4添加标签loadUi

PyQt4添加标签loadUi
EN

Stack Overflow用户
提问于 2013-05-17 10:48:35
回答 1查看 413关注 0票数 0
代码语言:javascript
复制
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文件的原因是,布局和更改更容易

我以后需要添加自定义工具的原因是,我打算运行线程,必须根据用户的判断和重复工具的数量来匹配线程数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-18 10:00:14

在没有任何运气的情况下寻找答案之后,我自己解决了这个问题。

在pyqt4 Designer文件(Main_Window)中创建了一个Main_Window之后,我就能够引用它(引用它的名称,在本例中是ProgressThreads),就像不用uic.loadUi导入方法一样。

工作代码如下,

代码语言:javascript
复制
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也是非常必要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16607178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档