python3 利用PyQt5、Qt Creator快速完成程序界面

一、简介:

本文仅做为学习记录。

PyQt5是基于图形程序框架Qt5的Python语言实现,由一组Python模块构成。
PyQt5的官方网站是:www.riverbankcomputing.co.uk。
PyQt5模块介绍的官网地址是:http://pyqt.sourceforge.net/Docs/PyQt5/introduction. html

Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应用程序框架更加快速及轻易的完成开发任务。

二、安装:

pip install PyQt5

安装完运行以下代码来确认安装成功:(代码为网络拷贝的,已测试正常)

import sys
 
#这里我们提供必要的引用。基本控件位于pyqt5.qtwidgets模块中。
from PyQt5.QtWidgets import QApplication, QWidget
 
if __name__ == '__main__':
    #每一pyqt5应用程序必须创建一个应用程序对象。sys.argv参数是一个列表,从命令行输入参数。
    app = QApplication(sys.argv)
    #QWidget部件是pyqt5所有用户界面对象的基类。他为QWidget提供默认构造函数。默认构造函数没有父类。
    w = QWidget()
    #resize()方法调整窗口的大小。这离是250px宽150px高
    w.resize(250, 150)
    #move()方法移动窗口在屏幕上的位置到x = 300,y = 300坐标。
    w.move(300, 300)
    #设置窗口的标题
    w.setWindowTitle('Simple')
    #显示在屏幕上
    w.show()
    
    #系统exit()方法确保应用程序干净的退出
    #的exec_()方法有下划线。因为执行是一个Python关键词。因此,exec_()代替
    sys.exit(app.exec_())

运行正常显示窗体。但是用代码写界面不是我们的初衷。所以我们安装Qt Creator可以直接拖拽控件和VB一样:

下载地址:

http://download.qt.io/official_releases/qtcreator/

安装过程中需要登陆账号。其他就是 下一步下一步了。

安装完成后打开:

选择文件→新建文件或项目,选择Qt→Qt Designer Form。

选择Main Window→路径和文件名自己设置→下一步,最后点击完成会生成一个.ui的文件,就可以拖动左边的组件进行界面的绘制了。

绘制完成界面以后。cmd来到刚才的ui文件处执行以下命令完成ui文件转py文件:

pyuic5 -o mainwindow.py mainwindow.ui

其中,-o 后的参数为输出文件的名称 -o 后第二个参数即为生成的ui文件的名称。

如果运行这个py文件会报错。因为需要稍微修改一下。

增加引用:

from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QFileDialog,QMessageBox  
import sys

添加程序入口

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())

然后再次按下F5,成功运行,弹出界面。

三、交互:

1、按钮单击事件:

#pushButton 为按钮名。open_file 点击执行函数
self.pushButton.clicked.connect(self.open_file)

#获取label中的文本内容
self.label.text()

#将文案输出到QTextBrowser组件中显示
self.textBrowser.append('一行文字')

判断复选框是否选中返回的是true/false。
self.checkBox.isChecked()

 

发布了50 篇原创文章 · 获赞 15 · 访问量 4万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览