当前位置 博文首页 > python之PySide2安装使用及QT Designer UI设计案例教程

    python之PySide2安装使用及QT Designer UI设计案例教程

    作者:MissU o_O 时间:2021-08-03 17:54

    pyside2 

    >>> pip install pyside2

     QT Designer

    >>> pip show pyside2
     
    Location: c:\users\Administrator\appdata\roaming\python\python39\site-packages
     
     
    文件位置
    C:\Users\Administrator\AppData\Roaming\Python\Python39\site-packages\PySide2\designer.exe

    Unable to lanch C: 

    PySide2目录下复制uic.exe到新建的bin文件夹

    C:\...\Python\Python39\site-packages\PySide2\bin\uic.exe

    Ⅰ. Init 

    from PySide2.QtWidgets import *
     
    class Window:
        def __init__(self):
            self.win = QMainWindow()
     
    if __name__ == '__main__':
        app = QApplication([])
        w = Window()
        w.win.show()
        app.exec_()
    from PySide2.QtWidgets import *
     
    if __name__ == '__main__':
        app = QApplication([])
        win = QMainWindow()
        win.show()
        app.exec_()

    Ⅱ Example

    from PySide2.QtWidgets import *
     
     
    class Window:
        def __init__(self):
            self.win = QMainWindow()
            self.win.resize(500, 400)
            self.win.move(700, 210)
            self.win.setWindowTitle("测试窗口")
     
     
            self.textEdit = QTextEdit(self.win)
            self.textEdit.move(50, 50)
            self.textEdit.resize(200, 300)
            self.textEdit.setPlaceholderText("请输入文本")
     
     
            self.button = QPushButton("button", self.win)
            self.button.move(300, 100)
            self.button.clicked.connect(self.btnClick)
     
     
        def btnClick(self):
            info = self.textEdit.toPlainText()   # 获取文本信息
            print(info)
            # print("button被点击")
     
     
    if __name__ == '__main__':
        app = QApplication([])
        # win = QMainWindow()
        # win.show()
        w = Window()
        w.win.show()
        app.exec_()

    QT Designer

    1.自动生成代码

    ...
    from PySide2.QtCore import QFile
    from PySide2.QtUiTools import QUiLoader
     
        ...
     
    if __name__ == "__main__":
        app = QApplication([])
        win = QMainWindow()
        w = Ui_Form()
        w.setupUi(win)
        win.show()
        app.exec_()

    2.动态加载ui文件

    from PySide2.QtWidgets import *
    from PySide2.QtCore import QFile
    from PySide2.QtUiTools import QUiLoader
     
     
    class Window:
        def __init__(self):
            super(Window, self).__init__()
     
            # 从文件中加载UI定义
            qfile = QFile("demo1.ui")
            qfile.open(QFile.ReadOnly)
            qfile.close()
     
            # 从UI定义中动态创建一个相应的窗口对象, 将其内部文件定义为self.ui.button
            self.ui = QUiLoader().load(qfile)
     
            self.ui.button.clicked.connect(self.btnClick)
            # self.button.clicked.connect(self.btnClick)
     
        def btnClick(self):
            info = self.ui.textEdit.toPlainText()   # 获取文本信息
            # info = self.textEdit.toPlainText()
            print(info)
     
    if __name__ == '__main__':
        app = QApplication([])
        w = Window()
        w.ui.show()
        # w.win.show()
        app.exec_()
    jsjbwy
    下一篇:没有了