PyQt5创建GUI界面之一

一, 利用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.1.png

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,523评论 0 17
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 10,424评论 2 22
  • 这是暗物质,小能熊365天写作计划第五十九天的写作内容,谢绝转载。 劳尔麾下战舰航速不一,为了保持阵型,只能以低速...
    黑暗物质阅读 139评论 0 0
  • 有人和我说,对于目前的我来说,也许应该选择一些实用性的书来看。我不否认,是应该适当的将专业性的技能再次深究,但是...
    sue猫阅读 217评论 0 2
  • 就是这样
    Slunter阅读 214评论 0 0