Python-使用PyQT生成圖形界面


1.安裝PyQT5 以及QT Designer工具包,這里使用清華大學的源,安裝快一些。

pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

 

2.安裝PyQt5 會根據Python的安裝路徑自動進行安裝,不需要修改,安裝好以后,測試安裝是否成功。寫下面的代碼,運行看運行是否正確。

import sys
from PyQt5 import QtWidgets
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QWidget()
    w.resize(400, 200)
    w.setWindowTitle("hello lyshark")
    w.show()
    exit(app.exec_())

接着直接雙擊運行,如果成功執行,那么會看到一個窗體生成了。

 

3.打開QT設計師designer.exe,一般路徑是:\Python\Python38\Lib\site-packages\pyqt5_tools\Qt\bin 就可以使用圖形界面添加。

 

4.將設計好的窗口,保存成*.ui文件,Qt Designer設計出來的文件默認為.ui文件,里面包含的類css布局設計語言,如果想用python運行,我們還需要將它轉換成.py文件。

輸入轉換命令:pyuic5 -o main.py main.ui qt工具會自動將其裝換為對應的py文件,這樣就不需要手動寫代碼構建了。

 

5.打開生成的.py文件,Ui_MainWindow這個類已經把布局都寫好了。我只要修改調用一下就可以運行。 在代碼后面添以下代碼:

if __name__ == '__main__':  
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()

    ui.setupUi(MainWindow) 
    MainWindow.show()
    sys.exit(app.exec_()) 

 直接點擊運行即可看到生成的界面啦,但是運行后,后面會有cmd窗口,不美觀,你可以將文件改為 main.pyw 然后運行,就沒有后面的CMD窗口了。

import sys
from PyQt5.QtWidgets import QWidget,QApplication

class Demo(QWidget):
    def __init__(self):
        super().__init__()
        self.intui()

    def intui(self):
        self.resize(350,250)
        self.move(300,500)
        self.setWindowTitle("hello world")
        self.show()
        
if __name__ == '__main__':
    app=QApplication(sys.argv)
    obj=Demo()
    sys.exit(app.exec_())

 

 

添加按鈕,點擊后退出。

import sys
from PyQt5.QtWidgets import QWidget,QApplication,QPushButton,QToolTip
from PyQt5.QtGui import QFont
from PyQt5.QtCore import QCoreApplication
class Demo(QWidget):
    def __init__(self):
        super().__init__()
        self.intui()

    def intui(self):
        btn=QPushButton("提交",self)
        btn.clicked.connect(QCoreApplication.instance().quit)
        btn.resize(btn.sizeHint())
        btn.move(102,102)
        self.setGeometry(300,300,300,300)
        self.show()

if __name__ == '__main__':
    app=QApplication(sys.argv)
    obj=Demo()
    sys.exit(app.exec_())


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM