python PyQt5初级教程hello world
PyQt5初级教程hello world
本文主要介绍环境的安装和用QT拖控件实现一个简单的hello程序
PyQt5安装
经过我的多次尝试,发现python3.5才能顺利装上PyQt5。安装方法很简单,一条命令搞定
pip install pyqt5
可以用如下代码测试环境是否安装成功,运行成功会出现一个窗口:
from PyQt5 import QtWidgets, QtGui import sysapp = QtWidgets.QApplication(sys.argv) window = QtWidgets.QWidget(); window.show() sys.exit(app.exec_())
QT Creator安装
因为我们需要使用Qt design来设计界面,所以需要安装Qt Creator。直接官网下载安装就好,比较大,需要耐心等待。
QT Creator绘制界面
打开Qt Creator,新建一个工程,QT -> Qt设计师界面类 -> Widget -> 保存
默认保存就好,不用管保存为form.cpp哪里,因为我们只需要form.ui这个文件
主界面简单介绍
拖动控件绘制我们的窗口,改变默认值
编辑信号和槽,选择信号槽编辑,选中button添加监听clicked事件,槽函数我们自定义为hello()
然后保存
- 把form.ui文件编译为form.py文件
去之前保存form.ui的目录,shift+右键,在当前路径打开控制台,执行如下命令
pyuic5 form.ui -o form.py
如果找不到pyuic5可执行程序,检查一下环境变量是否正确
至此界面已经生成,后面就是使用form.py这个界面了
使用Qt Design生成的界面
打开这个form.py这个文件,可以看到生成了Ui_Form这个类,有一些我们添加的控件。我们只需要导入类,做初始化,然后编写自定义的槽函数就可以了。
代码如下:
from PyQt5 import QtWidgets, QtGui import sysfrom form import Ui_Form # 导入生成form.py里生成的类class mywindow(QtWidgets.QWidget,Ui_Form): def __init__(self): super(mywindow,self).__init__() self.setupUi(self)#定义槽函数def hello(self):self.textEdit.setText("hello world")app = QtWidgets.QApplication(sys.argv) window = mywindow() window.show() sys.exit(app.exec_())
点击之后按钮之后编辑框变为hello world
帮助文档使用
有了上面的简单例子,就可以依葫芦画瓢做一些简单的应用了。但对一个控件,往往需要了解它的属性方法,才能方便我们编程。
官方文档网站 http://pyqt.sourceforge.net/Docs/PyQt5/index.html 打开点进去之后是C++的,觉得很纳闷。后面就理解了,pyqt5安装的时候会安装SIP,SIP的作用就是让python调用C,C++函数,所以pyqt5实则就是调用了QT C++的库,那么看QT C++库的帮助文档也一样。
拿上面例子的QTextEdit类来说,可以直接在QT Creator里看(毕竟是离线的)。帮助 -> Qt5.7.1 Reference Documentation -> class,然后搜索就可以了
我们就可以在Public Slots里面找到setText方法了
python PyQt5初级教程hello world相关推荐
- python PyQt5中文教程☞【第一节】PyQt5简介
引用文章:http://code.py40.com/pyqt5/ 文章目录 PyQt5说明 PyQt4和PyQt5的区别 PyQt5说明 pyqt5是一套Python绑定Digia QT5应用的框架. ...
- python PyQt5中文教程☞【第五节】PyQt5事件(Event)和信号(信号槽 Signals slots)
引用文章:http://code.py40.com/pyqt5/22.html 在这一部分的pyqt5教程中,我们将探讨PyQt5中的事件Event 文章目录 事件 Event 信号槽 Signals ...
- python PyQt5中文教程☞【第二节】PyQt5基本功能(创建窗口、应用程序图标、显示提示语、通过按钮关闭窗口、消息框(关闭窗口确认框)、窗口显示在屏幕中间【居中显示】)
引用文章:http://code.py40.com/pyqt5/ 文章目录 简单的例子:创建一个小窗口 应用程序的图标 显示提示语 通过按钮关闭窗口 消息框(关闭窗口确认框) 窗口显示在屏幕的中间[居 ...
- python PyQt5中文教程☞【第十节】PyQt5绘图(绘制文本drawText()、画点drawPoints()、设置颜色、QPen(画笔)绘制线条、QBrush(笔刷)绘制纹理
引用文章:http://code.py40.com/pyqt5/32.html 文章目录 绘制文本 画点 PyQt5颜色 QPen(画笔) QBrush(笔刷) 总结:一发现有事件触发就会更新QWid ...
- PyQt5初级教程--PyQt5中的部件II[9/13]
原文:https://blog.csdn.net/neverstop_2009/article/details/47378779 PyQt5的部件.我们会介绍QPixmap.QLineEdit.QSp ...
- python PyQt5中文教程☞【第八节】PyQt5控件(II)
引用文章:http://code.py40.com/pyqt5/ 在这里我们将继续介绍PyQt5控件.我们将介绍QPixmap.QLineEdit QSplitter,QComboBox. QPixm ...
- python PyQt5 QMainWindow类(Qt主窗口框架,主窗口提供了用于构建应用程序用户界面的框架)
https://doc.qt.io/qtforpython/PySide2/QtWidgets/QMainWindow.html?highlight=qmainwindow#PySide2.QtWid ...
- python PyQt5 sender(是发出信号的对象)、receiver(接收信号的对象)、slot(插槽)(是对信号做出反应的方法)
sender是发出信号的对象.receiver是接收信号的对象.slot(插槽)是对信号做出反应的方法. 参考文章:python PyQt5中文教程☞[第五节]PyQt5事件和信号
- python PyQt5 QtWidgets.QWidget.setLayout()(将布局中的小部件重新父级化,以将窗口作为父级)
https://doc.qt.io/qtforpython/PySide2/QtWidgets/QWidget.html?highlight=setlayout#PySide2.QtWidgets.P ...
最新文章
- 二十世纪最伟大的10大算法
- 如何知道react对象的值_基于react怎么获取兄弟元素的对象或它的值?
- volatile的作用(转自于http://www.csdn.net/)——今天差点忘记了!
- 深度解析(十五)哈夫曼树
- 输入输出--公用继承
- 极简数据分析实操指南(上)
- java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...
- Nginx For Windows HTTP转发和负载
- (10)<label>标签的用途
- 专题:Web App与Native App技术点大整合
- Matlab条形图bar误差棒绘制errorbar
- 力扣题目——235. 二叉搜索树的最近公共祖先
- Linux命令之umask
- 大数据之Linux早课9.11
- TypeScript 的类型检查和类型保护
- 单片机指令系统(1)
- Python-----并发,并行,进程,多进程
- python获取pdf页数_Python分割指定页数的pdf文件方法
- 电动车锂电池行业前景广阔,啰马锂服帮助企业、门店“降本增效”
- opencv4+contrib 编译
热门文章
- fancyupload java_javascript-如何在内部Windows身份验证Intranet上...
- python怎样查看describe的结果_Python学习第126课--pandas拿到数据后的总体描述
- html5 上海,【上海校区】HTML5新特性
- deepin efi 启动u盘_如何安装Deepin国产操作系统?只需一个U盘就够了,超简单
- 1-添加自己的Lua执行函数(ESP8266-SDK开发(lua版本))
- 正则表达+验证 [记录]
- PHP实现简单的计算器
- java入门之内部类
- 每日一乐,健康多滋味~~
- Linux下C++开发系列(一)序——我是如何开始linux下C++开发的