摘要:一安裝二簡(jiǎn)單使用使用創(chuàng)建一個(gè)簡(jiǎn)單窗口創(chuàng)建一個(gè)應(yīng)用對(duì)象參數(shù)是一個(gè)來自命令行的參數(shù)列表腳本可以在中運(yùn)行。這是我們用來控制我們應(yīng)用啟動(dòng)的一種方法。
一:安裝PyQt5
pip install pyqt5
二:PyQt5簡(jiǎn)單使用
1:使用PyQt5創(chuàng)建一個(gè)簡(jiǎn)單窗口
import sys from PyQt5 import QtWidgets #創(chuàng)建一個(gè)應(yīng)用(Application)對(duì)象,sys.argv參數(shù)是一個(gè)來自命令行的參數(shù)列表, # Python腳本可以在shell中運(yùn)行。這是我們用來控制我們應(yīng)用啟動(dòng)的一種方法。 app = QtWidgets.QApplication(sys.argv) #創(chuàng)建一個(gè)widget組件基礎(chǔ)類 windows = QtWidgets.QWidget() #設(shè)置widget組件的大小(w,h) windows.resize(500,500) #設(shè)置widget組件的位置(x,y) windows.move(100,100) """ #設(shè)置widget組件的位置居中 qr = windows.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) windows.move(qr.topLeft()) """ #等同于 w.resize(500,500)和w.move(100,100)兩句結(jié)合,(x,y,w,h) #windows.setGeometry(100,100,500,500) #show()方法在屏幕上顯示出widget組件 windows.show() #循環(huán)執(zhí)行窗口觸發(fā)事件,結(jié)束后不留垃圾的退出,不添加的話新建的widget組件就會(huì)一閃而過 sys.exit(app.exec_())
現(xiàn)象如下:
2:給創(chuàng)建的窗口添加標(biāo)題和圖標(biāo)
import sys from PyQt5 import QtWidgets,QtGui #創(chuàng)建一個(gè)應(yīng)用(Application)對(duì)象,sys.argv參數(shù)是一個(gè)來自命令行的參數(shù)列表, # Python腳本可以在shell中運(yùn)行。這是我們用來控制我們應(yīng)用啟動(dòng)的一種方法。 app = QtWidgets.QApplication(sys.argv) #創(chuàng)建一個(gè)widget組件基礎(chǔ)類 windows = QtWidgets.QWidget() #設(shè)置widget組件的大小(w,h) windows.resize(500,500) #設(shè)置widget組件的位置(x,y) windows.move(100,100) """ #設(shè)置widget組件的位置居中 qr = windows.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) windows.move(qr.topLeft()) """ #等同于 w.resize(500,500)和w.move(100,100)兩句結(jié)合,(x,y,w,h) #windows.setGeometry(100,100,500,500) #給widget組件設(shè)置標(biāo)題 windows.setWindowTitle("標(biāo)題") #給widget組件設(shè)置圖標(biāo) windows.setWindowIcon(QtGui.QIcon("2.png")) #show()方法在屏幕上顯示出widget組件 windows.show() #循環(huán)執(zhí)行窗口觸發(fā)事件,結(jié)束后不留垃圾的退出,不添加的話新建的widget組件就會(huì)一閃而過 sys.exit(app.exec_())
現(xiàn)象如下:
3:給創(chuàng)建的窗口設(shè)置按鈕及設(shè)置提示語
import sys from PyQt5 import QtWidgets,QtGui #創(chuàng)建一個(gè)應(yīng)用(Application)對(duì)象,sys.argv參數(shù)是一個(gè)來自命令行的參數(shù)列表, # Python腳本可以在shell中運(yùn)行。這是我們用來控制我們應(yīng)用啟動(dòng)的一種方法。 app = QtWidgets.QApplication(sys.argv) #創(chuàng)建一個(gè)widget組件基礎(chǔ)類 windows = QtWidgets.QWidget() #設(shè)置widget組件的大小(w,h) windows.resize(500,500) #設(shè)置widget組件的位置(x,y) windows.move(100,100) """ #設(shè)置widget組件的位置居中 qr = windows.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) windows.move(qr.topLeft()) """ #等同于 w.resize(500,500)和w.move(100,100)兩句結(jié)合,(x,y,w,h) #windows.setGeometry(100,100,500,500) #給widget組件設(shè)置標(biāo)題 windows.setWindowTitle("標(biāo)題") #給widget組件設(shè)置圖標(biāo) windows.setWindowIcon(QtGui.QIcon("2.png")) #設(shè)置提示語的字體和大小 QtWidgets.QToolTip.setFont(QtGui.QFont("SansSerif", 10)) #給widget組件設(shè)置提示語 windows.setToolTip("這是窗口提示") #設(shè)置按鈕并給按鈕命名 btn = QtWidgets.QPushButton("button",windows) #給按鈕設(shè)置位置(x,y,w,h) btn.setGeometry(200,200,100,50) #給按鈕設(shè)置提示語 btn.setToolTip("這是按鈕提示") #設(shè)置按鈕樣式 btn.setStyleSheet("background-color: rgb(164, 185, 255);" "border-color: rgb(170, 150, 163);" "font: 75 12pt "Arial Narrow";" "color: rgb(126, 255, 46);") #點(diǎn)擊按鈕關(guān)閉創(chuàng)建的窗口 btn.clicked.connect(QtCore.QCoreApplication.instance().quit) #show()方法在屏幕上顯示出widget組件 windows.show() #循環(huán)執(zhí)行窗口觸發(fā)事件,結(jié)束后不留垃圾的退出,不添加的話新建的widget組件就會(huì)一閃而過 sys.exit(app.exec_())
現(xiàn)象如下(點(diǎn)擊button按鈕,窗口關(guān)閉):
4:設(shè)置標(biāo)簽(lable)信息
import sys from PyQt5 import QtWidgets,QtGui,QtCore #創(chuàng)建一個(gè)應(yīng)用(Application)對(duì)象,sys.argv參數(shù)是一個(gè)來自命令行的參數(shù)列表, # Python腳本可以在shell中運(yùn)行。這是我們用來控制我們應(yīng)用啟動(dòng)的一種方法。 app = QtWidgets.QApplication(sys.argv) #創(chuàng)建一個(gè)widget組件基礎(chǔ)類 windows = QtWidgets.QWidget() #設(shè)置widget組件的大小(w,h) windows.resize(500,500) #設(shè)置widget組件的位置(x,y) windows.move(100,100) """ #設(shè)置widget組件的位置居中 qr = windows.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) windows.move(qr.topLeft()) """ #等同于 w.resize(500,500)和w.move(100,100)兩句結(jié)合,(x,y,w,h) #windows.setGeometry(100,100,500,500) #給widget組件設(shè)置標(biāo)題 windows.setWindowTitle("標(biāo)題") #給widget組件設(shè)置圖標(biāo) windows.setWindowIcon(QtGui.QIcon("2.png")) #設(shè)置lable信息 label = QtWidgets.QLabel(windows) label.setGeometry(QtCore.QRect(100, 10, 100, 60)) label.setText("這是lable信息") label.setObjectName("label") #show()方法在屏幕上顯示出widget組件 windows.show() #循環(huán)執(zhí)行窗口觸發(fā)事件,結(jié)束后不留垃圾的退出,不添加的話新建的widget組件就會(huì)一閃而過 sys.exit(app.exec_())
現(xiàn)象如下:
5:配置輸入框
import sys from PyQt5 import QtWidgets,QtGui,QtCore,Qt #創(chuàng)建一個(gè)應(yīng)用(Application)對(duì)象,sys.argv參數(shù)是一個(gè)來自命令行的參數(shù)列表, # Python腳本可以在shell中運(yùn)行。這是我們用來控制我們應(yīng)用啟動(dòng)的一種方法。 app = QtWidgets.QApplication(sys.argv) #創(chuàng)建一個(gè)widget組件基礎(chǔ)類 windows = QtWidgets.QWidget() #設(shè)置widget組件的大小(w,h) windows.resize(500,500) #設(shè)置widget組件的位置(x,y) windows.move(100,100) """ #設(shè)置widget組件的位置居中 qr = windows.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) windows.move(qr.topLeft()) """ #等同于 w.resize(500,500)和w.move(100,100)兩句結(jié)合,(x,y,w,h) #windows.setGeometry(100,100,500,500) #給widget組件設(shè)置標(biāo)題 windows.setWindowTitle("標(biāo)題") #給widget組件設(shè)置圖標(biāo) windows.setWindowIcon(QtGui.QIcon("2.png")) #設(shè)置輸入框 textbox = Qt.QLineEdit(windows) textbox.resize(100,20) textbox.move(50,50) #show()方法在屏幕上顯示出widget組件 windows.show() #循環(huán)執(zhí)行窗口觸發(fā)事件,結(jié)束后不留垃圾的退出,不添加的話新建的widget組件就會(huì)一閃而過 sys.exit(app.exec_())
現(xiàn)象如下:
三:將上述方法總結(jié)一下實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的功能,如下:
功能為:在輸入框中輸入值過后,點(diǎn)擊按鈕就會(huì)打印出你輸入的值,關(guān)閉窗口會(huì)有提示
import sys from PyQt5 import QtWidgets,QtGui,QtCore,Qt class GUI(QtWidgets.QWidget): def __init__(self): #初始化————init__ super().__init__() self.initGUI() def initGUI(self): #設(shè)置窗口大小 self.resize(500,500) #設(shè)置窗口位置(下面配置的是居于屏幕中間) qr = self.frameGeometry() cp = QtWidgets.QDesktopWidget().availableGeometry().center() qr.moveCenter(cp) self.move(qr.topLeft()) #設(shè)置窗口標(biāo)題和圖標(biāo) self.setWindowTitle("窗口標(biāo)題") self.setWindowIcon(QtGui.QIcon("2.png")) #設(shè)置窗口提示 self.setToolTip("窗口提示") #設(shè)置label信息 self.label = QtWidgets.QLabel(self) self.label.setGeometry(QtCore.QRect(100, 10, 100, 60)) self.label.setText("這是lable信息") self.label.setObjectName("label") # 設(shè)置label提示 self.label.setToolTip("label提示") #設(shè)置輸入框 self.textbox = Qt.QLineEdit(self) self.textbox.resize(100, 20) self.textbox.move(100, 50) # 設(shè)置輸入框提示 self.textbox.setToolTip("輸入框提示") #設(shè)置按鈕 self.btn =QtWidgets.QPushButton("按鈕",self) self.btn.resize(100,20) self.btn.move(200,50) # 設(shè)置按鈕樣式 self.btn.setStyleSheet("background-color: rgb(164, 185, 255);" "border-color: rgb(170, 150, 163);" "font: 75 12pt "Arial Narrow";" "color: rgb(126, 255, 46);") # 設(shè)置按鈕提示 self.btn.setToolTip("按鈕提示") #點(diǎn)擊鼠標(biāo)觸發(fā)事件 self.btn.clicked.connect(self.clickbtn) #展示窗口 self.show(); #點(diǎn)擊鼠標(biāo)觸發(fā)函數(shù) def clickbtn(self): #打印出輸入框的信息 textboxValue = self.textbox.text() QtWidgets.QMessageBox.question(self, "信息", "你輸入的輸入框內(nèi)容為:" + textboxValue,QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.Ok) #清空輸入框信息 self.textbox.setText("") #關(guān)閉窗口事件重寫 def closeEvent(self, QCloseEvent): reply = QtWidgets.QMessageBox.question(self, "警告","確定關(guān)閉當(dāng)前窗口?", QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No, QtWidgets.QMessageBox.No) if reply == QtWidgets.QMessageBox.Yes: QCloseEvent.accept() else: QCloseEvent.ignore() if __name__ == "__main__": app = QtWidgets.QApplication(sys.argv) gui = GUI() sys.exit(app.exec_())
現(xiàn)象為:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/43269.html
摘要:工具可以直接使用方式安裝和的環(huán)境配置使用集成開發(fā)工具的小白,在安裝庫(kù)以后,還要對(duì)和進(jìn)行環(huán)境配置,將其集成到中。如果小白的或安裝在其他路徑下,則從對(duì)應(yīng)的目錄找到,或者在資源管理器中搜索文件找到安裝路徑。 ...
摘要:是由一系列模塊組成。超過個(gè)類,函數(shù)和方法。有兩種證書,和商業(yè)證書。包含了窗口系統(tǒng)事件處理圖像基本繪畫字體和文字類。包含了協(xié)議的類。提供了處理數(shù)據(jù)庫(kù)的工具。廢棄了和的調(diào)用方式,使用了新的信號(hào)和處理方式。不再支持被標(biāo)記為廢棄的或不建議使用的。 本教程的目的是帶領(lǐng)你入門PyQt5。教程內(nèi)所有代碼都在Linux上測(cè)試通過。PyQt4 教程是PyQt4的教程,PyQt4是一個(gè)Python(同時(shí)支...
摘要:控件是一個(gè)用戶界面的基本控件,它提供了基本的應(yīng)用構(gòu)造器。默認(rèn)情況下,構(gòu)造器是沒有父級(jí)的,沒有父級(jí)的構(gòu)造器被稱為窗口。這就意味著,我們調(diào)用了兩個(gè)構(gòu)造器,一個(gè)是這個(gè)類本身的,一個(gè)是這個(gè)類繼承的。構(gòu)造器方法返回父級(jí)的對(duì)象。 本章學(xué)習(xí)Qt的基本功能 例1,簡(jiǎn)單的窗口 這個(gè)簡(jiǎn)單的小例子展示的是一個(gè)小窗口。但是我們可以在這個(gè)小窗口上面做很多事情,改變大小,最大化,最小化等,這需要很多代碼才能實(shí)現(xiàn)。...
閱讀 2043·2021-11-11 16:54
閱讀 2121·2019-08-30 15:55
閱讀 3621·2019-08-30 15:54
閱讀 398·2019-08-30 15:44
閱讀 2239·2019-08-30 10:58
閱讀 431·2019-08-26 10:30
閱讀 3055·2019-08-23 14:46
閱讀 3204·2019-08-23 13:46