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

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的安装路径自动进行安装,不需要修改,安装好以后,测试安装是否成功。写下面的代码,运行看运行是否正确。

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这个类已经把布局都写好了。我只要修改调用一下就可以运行。 在代码后面添以下代码:

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窗口了。

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_())

添加按钮,点击后退出。

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_())

Python-使用PyQT生成图形界面的更多相关文章

  1. Python编写的桌面图形界面程序实现更新检测和下载安装

    在Python中我们有很多种方案来编写桌面图形用户界面程序,譬如内置的 Tkinter .强大的 PyQt5 和 PySide2 ,还有 wxPython .借助这些或内置或第三方的模块,我们可以轻松 ...

  2. 使用PyQt开发图形界面Python应用专栏目录

    ☞ ░ 前往老猿Python博文目录 ░ 本专栏为收费专栏的文章目录,对应的免费专栏为<PyQt入门知识目录>,两个专栏都为基于PyQt的Python图形界面开发基础教程,只是收费专栏中的 ...

  3. python使用pyqt写带界面工具

    上篇介绍的使用python自带tkinter包,来写带界面的工具. 此篇介绍使用pyqt来开发测试工具. tkinter的好处是python官方自带,上手容易(但手写控件复杂),布局和摆放都不直观和容 ...

  4. python在linux制作图形界面(snack)

    snack是一个用于在linux制作图形界面(GUI)的模块,该模块由c编写,而且redhat的系统都自带这个模块. 1.获取模块 虽然redhat系统会自带这个模块,但是直接去import snac ...

  5. python使用easygui写图形界面程序

    我 们首先下载一个类库easygui,它是一个Python用于简单开发图形化界面的类库,打开easygui的下载网页 http://sourceforge.net/projects/easygui/? ...

  6. 使用PyQT开发图形界面程序

    环境 python:v3.3 PyQT:v4.10.4 注意问题: 在主文件前面加入,否则当前的工程模块无法找到 import sys sys.path.append(".") 入 ...

  7. Python中编写精美图形界面(PyQt5)

    纯代码,布局的讲解 见: https://cloud.tencent.com/developer/article/1345469 Qt designer设计文件 .ui转 .py文件,进阶使用 注:不 ...

  8. PyQt(Python+Qt)学习随笔:print标准输出sys.stdout以及stderr重定向QTextBrowser等图形界面对象

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 <在Python实现print标准输出sys.stdout.st ...

  9. 第15.17节 PyQt(Python+Qt)入门学习:PyQt图形界面应用程序的事件捕获方法大全及对比分析

    老猿Python博文目录 老猿Python博客地址 按照老猿规划的章节安排,信号和槽之后应该介绍事件,但事件在前面的随笔<PyQt(Python+Qt)实现的GUI图形界面应用程序的事件捕获方法 ...

随机推荐

  1. 一个简单的NodeJs静态页面的web服务器

    主要功能 1 显示www文件夹下静态html或文本类型的文件. 2 缺省访问文件功能. 通过config.js的defaultfile属性设置 3 如果文件夹下没有缺省文件,显示文件夹下文件列表 4 ...

  2. 42.OC中instancetype与id的区别

    区别: 在ARC(Auto Reference Count)环境下: instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型,运行时检查类型 在MRC(Manual Re ...

  3. Query - noConflict() 方法

    ps:菜鸟教程 如何在页面上同时使用 jQuery 和其他框架? noConflict() 方法会释放对 $ 标识符的控制,这样其他脚本就可以使用它了. 当然,您仍然可以通过全名替代简写的方式来使用 ...

  4. Echarts的使用方法

    效果图: 1. 在echarts官网下载包,解压后,将文件Echarts\echarts-2.2.7\echarts-2.2.7\doc\example\www\js\echarts.js文件拷贝,放 ...

  5. java sigar.jar

    http://blog.csdn.net/yin_jw/article/details/40151547 DEBUG Sigar - no libsigar-x86-linux.so in java. ...

  6. 微信小程序请求数据

    微信小程序请求数据,在页面展示,可以在onLoad生命周期中进行请求. 1.新建目录http,新建文件http.js 2.在js文件中暴露需要使用的变量 var baseUrl = 'http://1 ...

  7. Codeforces Round #516 (Div. 2, by Moscow Team Olympiad) D. Labyrinth(重识搜索)

    https://codeforces.com/contest/1064/problem/D 题意 给你一个有障碍的图,限制你向左向右走的次数,问你可以到达格子的个数 思路 可以定义状态为vi[x][y ...

  8. mysql 查询中文字段 没有结果的解决方法

    代码如下: $conn = new mysqli('localhost', 'root', '', 'excel');$sql = "select 中信一级行业 from excel gro ...

  9. C++ —— 重载、覆盖和隐藏

    一.重载 发生在同一个类当中,当在同一类当中定义了方法A,然后又定义了方法B,B和A的方法名相同,但是参数不同,那么再是称B重载了方法A. class test{ public: void A(); ...

  10. java项目显示红叉,程序却没有错误

    转 http://blog.sina.com.cn/s/blog_825b7d7c0102w7rq.html (2016-07-02 11:38:38)   分类: javaWeb 电脑换了不同版本的 ...