前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 使用PyQt生成图形界面

Python 使用PyQt生成图形界面

作者头像
微软技术分享
发布2022-12-28 13:43:03
6840
发布2022-12-28 13:43:03
举报
文章被收录于专栏:Python 编程技术实践

1.安装PyQT5 以及QT Designer工具包,这里使用清华大学的源,安装快一些。

代码语言:javascript
复制
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

2.安装PyQt5 会根据Python的安装路径自动进行安装,不需要修改,安装好以后,测试安装是否成功。写下面的代码,运行看运行是否正确。

代码语言:javascript
复制
import sys
from PyQt5 import QtWidgets
if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    w = QtWidgets.QWidget()
    w.resize(400, 200)
    w.setWindowTitle("hello lyshark")
    w.show()
    exit(app.exec_())

接着直接双击运行,如果成功执行,那么会看到一个窗体生成了。

3.打开QT设计师designer.exe,一般路径是:\Python\Python38\Lib\site-packages\pyqt5_tools\Qt\bin 就可以使用图形界面添加。

4.将设计好的窗口,保存成*.ui文件,Qt Designer设计出来的文件默认为.ui文件,里面包含的类css布局设计语言,如果想用python运行,我们还需要将它转换成.py文件。

输入转换命令:pyuic5 -o main.py main.ui qt工具会自动将其装换为对应的py文件,这样就不需要手动写代码构建了。

5.打开生成的.py文件,Ui_MainWindow这个类已经把布局都写好了。我只要修改调用一下就可以运行。 在代码后面添以下代码:

代码语言:javascript
复制
if __name__ == '__main__':  
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()

    ui.setupUi(MainWindow) 
    MainWindow.show()
    sys.exit(app.exec_()) 

直接点击运行即可看到生成的界面啦,但是运行后,后面会有cmd窗口,不美观,你可以将文件改为 main.pyw 然后运行,就没有后面的CMD窗口了。

代码语言:javascript
复制
import sys
from PyQt5.QtWidgets import QWidget,QApplication

class Demo(QWidget):
    def __init__(self):
        super().__init__()
        self.intui()

    def intui(self):
        self.resize(350,250)
        self.move(300,500)
        self.setWindowTitle("hello world")
        self.show()
        
if __name__ == '__main__':
    app=QApplication(sys.argv)
    obj=Demo()
    sys.exit(app.exec_())

添加按钮,点击后退出。

代码语言:javascript
复制
import sys
from PyQt5.QtWidgets import QWidget,QApplication,QPushButton,QToolTip
from PyQt5.QtGui import QFont
from PyQt5.QtCore import QCoreApplication
class Demo(QWidget):
    def __init__(self):
        super().__init__()
        self.intui()

    def intui(self):
        btn=QPushButton("提交",self)
        btn.clicked.connect(QCoreApplication.instance().quit)
        btn.resize(btn.sizeHint())
        btn.move(102,102)
        self.setGeometry(300,300,300,300)
        self.show()

if __name__ == '__main__':
    app=QApplication(sys.argv)
    obj=Demo()
    sys.exit(app.exec_())
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档