PyQt5创建GUI界面之一
2017-02-10 本文已影响0人
ray121
一, 利用designer设计的GUI
1.1 使用designer设计一个简单的GUI界面,含有一个'Quit'按钮
1.png
1.2 把MyFirstGui.ui文件转成MyFirstGui.py文件并修改MyFirstGui.py文件
2.png
1.3 创建文件调用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_())
3.png
二, 创建点击事件
2.1 修改文件调用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
#点击时,移动按钮
self.new.pushButton.move(x,y)
if __name__=="__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
myshow = myWindow()
myshow.show()
sys.exit(app.exec_())
2.1.png
三, 创建一个温度转换窗口
3.1 利用designer设计界面TempGui.ui
3.1.png
3.2 把TempGui.ui文件转成TempGui.py文件
3.2.png
3.3 创建文件调用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时间处理器
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时间处理器
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_())
3.5.png
四, 创建带菜单窗口
4.1 利用designer添加菜单并生成.py文件
4.2 修改文件调用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()
4.2.png
五, 创建热键
5.1 利用designer定义热键(代码不需要修改)
通过Object Inspector选中后修改:
把menuFile进行修改title=File为title=&File
把menuConvert修改title=Convert为title=&Convert;
把actionExit的Text=Exit修改为Text=&Text;
把actionC_to_F的Text=C_to_F修改为Text=&C_to_F;
把actionF_to_C的Text=F_to_C修改为Text=&F_to_C;
5.1.png
5.2 运行效果
5.2.png