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相关推荐

  1. python PyQt5中文教程☞【第一节】PyQt5简介

    引用文章:http://code.py40.com/pyqt5/ 文章目录 PyQt5说明 PyQt4和PyQt5的区别 PyQt5说明 pyqt5是一套Python绑定Digia QT5应用的框架. ...

  2. python PyQt5中文教程☞【第五节】PyQt5事件(Event)和信号(信号槽 Signals slots)

    引用文章:http://code.py40.com/pyqt5/22.html 在这一部分的pyqt5教程中,我们将探讨PyQt5中的事件Event 文章目录 事件 Event 信号槽 Signals ...

  3. python PyQt5中文教程☞【第二节】PyQt5基本功能(创建窗口、应用程序图标、显示提示语、通过按钮关闭窗口、消息框(关闭窗口确认框)、窗口显示在屏幕中间【居中显示】)

    引用文章:http://code.py40.com/pyqt5/ 文章目录 简单的例子:创建一个小窗口 应用程序的图标 显示提示语 通过按钮关闭窗口 消息框(关闭窗口确认框) 窗口显示在屏幕的中间[居 ...

  4. python PyQt5中文教程☞【第十节】PyQt5绘图(绘制文本drawText()、画点drawPoints()、设置颜色、QPen(画笔)绘制线条、QBrush(笔刷)绘制纹理

    引用文章:http://code.py40.com/pyqt5/32.html 文章目录 绘制文本 画点 PyQt5颜色 QPen(画笔) QBrush(笔刷) 总结:一发现有事件触发就会更新QWid ...

  5. PyQt5初级教程--PyQt5中的部件II[9/13]

    原文:https://blog.csdn.net/neverstop_2009/article/details/47378779 PyQt5的部件.我们会介绍QPixmap.QLineEdit.QSp ...

  6. python PyQt5中文教程☞【第八节】PyQt5控件(II)

    引用文章:http://code.py40.com/pyqt5/ 在这里我们将继续介绍PyQt5控件.我们将介绍QPixmap.QLineEdit QSplitter,QComboBox. QPixm ...

  7. python PyQt5 QMainWindow类(Qt主窗口框架,主窗口提供了用于构建应用程序用户界面的框架)

    https://doc.qt.io/qtforpython/PySide2/QtWidgets/QMainWindow.html?highlight=qmainwindow#PySide2.QtWid ...

  8. python PyQt5 sender(是发出信号的对象)、receiver(接收信号的对象)、slot(插槽)(是对信号做出反应的方法)

    sender是发出信号的对象.receiver是接收信号的对象.slot(插槽)是对信号做出反应的方法. 参考文章:python PyQt5中文教程☞[第五节]PyQt5事件和信号

  9. python PyQt5 QtWidgets.QWidget.setLayout()(将布局中的小部件重新父级化,以将窗口作为父级)

    https://doc.qt.io/qtforpython/PySide2/QtWidgets/QWidget.html?highlight=setlayout#PySide2.QtWidgets.P ...

最新文章

  1. 二十世纪最伟大的10大算法
  2. 如何知道react对象的值_基于react怎么获取兄弟元素的对象或它的值?
  3. volatile的作用(转自于http://www.csdn.net/)——今天差点忘记了!
  4. 深度解析(十五)哈夫曼树
  5. 输入输出--公用继承
  6. 极简数据分析实操指南(上)
  7. java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...
  8. Nginx For Windows HTTP转发和负载
  9. (10)<label>标签的用途
  10. 专题:Web App与Native App技术点大整合
  11. Matlab条形图bar误差棒绘制errorbar
  12. 力扣题目——235. 二叉搜索树的最近公共祖先
  13. Linux命令之umask
  14. 大数据之Linux早课9.11
  15. TypeScript 的类型检查和类型保护
  16. 单片机指令系统(1)
  17. Python-----并发,并行,进程,多进程
  18. python获取pdf页数_Python分割指定页数的pdf文件方法
  19. 电动车锂电池行业前景广阔,啰马锂服帮助企业、门店“降本增效”
  20. opencv4+contrib 编译

热门文章

  1. fancyupload java_javascript-如何在内部Windows身份验证Intranet上...
  2. python怎样查看describe的结果_Python学习第126课--pandas拿到数据后的总体描述
  3. html5 上海,【上海校区】HTML5新特性
  4. deepin efi 启动u盘_如何安装Deepin国产操作系统?只需一个U盘就够了,超简单
  5. 1-添加自己的Lua执行函数(ESP8266-SDK开发(lua版本))
  6. 正则表达+验证 [记录]
  7. PHP实现简单的计算器
  8. java入门之内部类
  9. 每日一乐,健康多滋味~~
  10. Linux下C++开发系列(一)序——我是如何开始linux下C++开发的