我想知道如何使用pyqt5一次加载创建的小部件

时间:2018-08-27 01:35:15

标签: python python-3.x pyqt pyqt5

对不起。我将修改内容。我想通过按Qbutton在def测试中加载小部件。您不能使用QStackedWidget加载小部件的已配置功能吗?我已经编译了该类并调用了它,但是只有一个= QLineEdit('Qline',self)。我不知道应该怎么做才能切换小部件。

您还可以使用pyqt5创建类似html的表。

import sys
from PyQt5.QtWidgets import *

class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.stacked = QStackedWidget(self)

        self.FirstpUI() 

    def FirstpUI(self):
        self.btn1 = QPushButton('test1', self)
        self.btn1.move(50,50)
        self.btn1.clicked.connect(self.btn1_click)

    def test(self):
        a = QLineEdit('Qline', self)
        b = QLineEdit('Qline2', self)
        c = QPushButton('button', self)

        a.move(0, 0)
        b.move(100, 0)
        c.move(50,50)

        c.clicked.connect(self.btn2_click)

    def btn1_click(self):
        self.btn1.deleteLater()
        self.stacked.addWidget(self.test())

        self.stacked.setCurrentIndex(self.stacked.currentIndex()+1)

    def btn2_click(self):
        QMessageBox.about(self,'hello','hello2')

if __name__ == "__main__":
    app = QApplication(sys.argv)
    fream = MainWindow()
    fream.show()
    app.exec_()

1 个答案:

答案 0 :(得分:0)

也许我不知道您真正想要的是什么,因为我了解的很少,我认为您可以使用QtDesigner,它非常有用