一, 利用designer設(shè)計(jì)的GUI
1.1 使用designer設(shè)計(jì)一個(gè)簡單的GUI界面鹅龄,含有一個(gè)'Quit'按鈕
1.2 把MyFirstGui.ui文件轉(zhuǎn)成MyFirstGui.py文件并修改MyFirstGui.py文件
1.3 創(chuàng)建文件調(diào)用MyFirstGui.py
from PyQt5 import QtWidgets
from MyFirstGui import Ui_MainWindow
class myWindow(QtWidgets.QWidget, Ui_MainWindow):
def __init__(self):
super(myWindow, self).__init__()
self.new = Ui_MainWindow()
self.new.setupUi(self)
if __name__=="__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
myshow = myWindow()
myshow.show()
sys.exit(app.exec_())
二, 創(chuàng)建點(diǎn)擊事件
2.1 修改文件調(diào)用MyFirstGui.py
from PyQt5 import QtWidgets
from MyFirstGui import Ui_MainWindow
class myWindow(QtWidgets.QWidget, Ui_MainWindow):
def __init__(self):
super(myWindow, self).__init__()
self.new = Ui_MainWindow()
self.new.setupUi(self)
#將事件處理器與事件相連接
self.new.pushButton.clicked.connect(self.button_clicked)
#定義事件處理器
def button_clicked(self):
x = self.new.pushButton.x()
y = self.new.pushButton.y()
x += 50
y += 50
#點(diǎn)擊時(shí)生宛,移動按鈕
self.new.pushButton.move(x,y)
if __name__=="__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
myshow = myWindow()
myshow.show()
sys.exit(app.exec_())
三, 創(chuàng)建一個(gè)溫度轉(zhuǎn)換窗口
3.1 利用designer設(shè)計(jì)界面TempGui.ui
3.2 把TempGui.ui文件轉(zhuǎn)成TempGui.py文件
3.3 創(chuàng)建文件調(diào)用TempGui.py
from PyQt5 import QtWidgets
from TempGui import Ui_MainWindow
class myWindow(QtWidgets.QWidget, Ui_MainWindow):
def __init__(self):
super(myWindow, self).__init__()
self.new = Ui_MainWindow()
self.new.setupUi(self)
#將事件處理器與事件相連接
self.new.btnCtoF.clicked.connect(self.btnCtoF_Clicked)
self.new.btnFtoC.clicked.connect(self.btnFtoC_Clicked)
#定義CtoF時(shí)間處理器
def btnCtoF_Clicked(self):
cel = float(self.new.editCel.text())
fahr = cel * 9.0 / 5 + 32
self.new.spinFahr.setValue(int(fahr + 0.5))
#定義CtoF時(shí)間處理器
def btnFtoC_Clicked(self):
fahr = self.new.spinFahr.value()
cel = (fahr - 32) * 5 / 9.0
cel_text = '%.2f'%cel
self.new.editCel.setText(str(cel_text))
if __name__=="__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
myshow = myWindow()
myshow.show()
sys.exit(app.exec_())
四窘哈, 創(chuàng)建帶菜單窗口
4.1 利用designer添加菜單并生成.py文件
4.2 修改文件調(diào)用MyFirstGui.py
在 init方法中潮针,將事件處理器與事件相連
self.new.actionC_to_F.triggered.connect(self.btnCtoF_Clicked)
self.new.actionF_to_C.triggered.connect(self.btnFtoC_Clicked)
self.new.actionExit.triggered.connect(self.menuExit_selected)
添加定義exit處理事件
def menuExit_selected(self):
self.close()
五坏晦, 創(chuàng)建熱鍵
5.1 利用designer定義熱鍵(代碼不需要修改)
通過Object Inspector選中后修改:
把menuFile進(jìn)行修改title=File為title=&File
把menuConvert修改title=Convert為title=&Convert;
把a(bǔ)ctionExit的Text=Exit修改為Text=&Text;
把a(bǔ)ctionC_to_F的Text=C_to_F修改為Text=&C_to_F;
把a(bǔ)ctionF_to_C的Text=F_to_C修改為Text=&F_to_C;
5.2 運(yùn)行效果