pyqt入门

  第一次接触pyqt是在20年刚毕业的时候,时隔两年,恰逢闲暇,正好回过头来对这个模块的知识进行一个整理,不会做系统化的整理,我打算可能会围绕之前做过的小工具对其涉及到的控件、信号和槽等知识进行简单的回忆。后面工作如果再涉及或者想到其他的,会再回来更新完善。

  pyqt5:同前面整理的kivy一样,同属于GUI开发框架的范畴,不同的是,pyqt用于桌面应用程序的开发(还有pyqt6,tkinter(python标准库自带的)有兴趣还可以注意一下)

  本篇主要安装一下三方库和三方工具(Qtdesigner,纯手写布局的话可以不用他)等

1、安装三方库、设计器

  pyqt入门

 

   pyqt入门

 2、pycharm配置(不需要设计器就可以不配置,pyuic是将设计器生成的.ui文件转换成.py文件)

  pyqt入门

   pyqt入门

  还有一个pyrcc工具是将资源文件(图片等).qrc转换成.py文件,具体配置可以自行百度

 3、要点总结

  3.1、窗口
    QWidget(通用窗口,所有控件的基类)
    QMainwindow(主窗口,带有菜单栏、工具栏、状态栏的主窗口,用于GUI开发时最常用的窗口)
    QDialog(对话框窗口)
  3.2、布局
    线性布局:
      水平布局
      垂直布局
    网格布局
    表单布局
  3.3、常用控件
    文本类控件:
      标签
      单行文本
      多行文本
      整数数字选择框
      小数数字选择框
    按钮类控件:
      Pushbutton
      toolbutton
      Radiobutton
      Checkbutton
    列表类控件:
      ComboBox
      listwidget
    容器类控件:
      GroupBox
      Tabwidget
      toolBox
      CommandlinkBox
  3.4、高级控件
    TreeView、TableView、TreeWidget、TableWidget
    Frame
    SpaceItem
  3.5、对话框
    消息对话框
    文件对话框
    输入对话框
    字体、颜色对话框
  3.6、事件驱动
    传递event参数

  3.7、信号和槽

  3.8、M/V结构

4、窥探

 1 import sys
 2 from PyQt5.QtWidgets import *
 3 
 4 
 5 class TestUi(QMainWindow):
 6     def __init__(self):
 7         super(TestUi, self).__init__()
 8         self.init_widget()
 9 
10     def init_widget(self):
11         self.setFixedSize(500, 300)
12         self.setWindowTitle("测试")
13         # self.layout = QVBoxLayout()
14         self.main_widget = QWidget()
15         self.main_layout = QHBoxLayout()
16         # self.main_widget.setFixedSize(200, 200)
17         self.main_widget.setLayout(self.main_layout)
18         self.queding = QPushButton("确定")
19         self.chaxun = QPushButton("查询")
20         self.setCentralWidget(self.main_widget)
21         self.main_layout.addWidget(self.queding)
22         self.main_layout.addWidget(self.chaxun)
23 
24 
25 if __name__ == "__main__":
26     app = QApplication(sys.argv)
27     ui = TestUi()
28     ui.show()
29     sys.exit(app.exec_())

运行界面显示:

pyqt入门

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pyqt入门 - Python技术站

(0)
上一篇 2023年4月2日 下午4:52
下一篇 2023年4月2日

相关文章

  • fastapi篇(一)

    fastapi是一个高性能的web开发框架 性能极高,可与 NodeJS, Go 媲美。(得益于Starlette和Pydantic)。 Starlette 是一个轻量级 ASGI 框架/工具包。它非常适合用来构建高性能的 asyncio 服务,并支持 HTTP 和 WebSockets。 官方网址:https://www.starlette.io/   P…

    python 2023年5月9日
    00
  • 浅用描述符

      可以理解为property方法的一种进阶,都可以用来创建一种新形式的实例属性,即在实例属性值的获取和设定上,增加额外的处理事务,such as:类型检查、验证   重写三个属性访问方法,其中__delete__方法是否重写取决需求   在类层次上引用描述符,即该类遵从描述符协议 1 class Check: 2 def __init__(self, na…

    Python开发 2023年4月2日
    00
  • __call__用法简谈

      python一切皆对象,从是否可调用层面讲,对象又可以分为可调用对象、不可调用对象 在本篇中,类中实现__call__双下方法,即将该类的实例变为可调用对象   普通类未实现__call__的方法,实例是不可调用的,先看 1 class Valley: 2 … 3 4 5 if __name__ == ‘__main__’: 6 v = Valley…

    Python开发 2023年4月2日
    00
  • 工匠回忆(一)

    不久之前看过《python工匠》,腾讯大佬朱磊写的,后来一段时间零零散散也会翻开看看,强烈推荐!!! 1、变量注释   变量与注释是最接近自然语言的东西,把变量与注释搞好,同样一段代码,却带来两种截然不同的体验   1.1、变量开辟的必要性   1.2、变量注意靠近使用   1.3、注意变量描述性要强、同时注意其长度   1.4、变量的命名要突出类型   1…

    python 2023年5月4日
    00
  • 猴子补丁

    作用:随时修改代码   (在函数或类定义完成之后,再去修改函数的实现过程) “””类似猴子补丁在函数定义好之后,再去更改他的行为”””import typesclass Valley: def func(self): return “等待宣告”def common(self): return “只有永不遏制的奋斗”if __name__ == ‘__main…

    Python开发 2023年4月2日
    00
  • 在*args, **kwargs上强制规定参数的调用约定

      首先我们要知道任何关于函数调用签名的问题,都和inspect模块有着关系   这个知识点涉及到两个类:               Signature、               Parameter创建一个签名对象,这是个重点 1 from inspect import Signature, Parameter 2 3 params = [Parame…

    Python开发 2023年4月2日
    00
  • 迭代器执行切片

    普通的切片对迭代器无法实行切片操作 1 from itertools import islice 2 3 4 def func(): 5 for i in [4, 9, 6, 2]: 6 if i % 2 == 0: 7 yield i 8 9 10 f = func() 11 res = islice(f, 3) 12 for i in res: 13 p…

    Python开发 2023年4月2日
    00
  • 命名元组

    1、命名元组也叫具名元组   可以通过名称来访问序列中的元素,摆脱对位置的依赖,他本身是一个工厂函数 2、应用1   实例化元组返回的类,其内存占用要比普通类实例要小的多,因为前者实例的属性不通过字典进行管理 1 from collections import namedtuple 2 3 # 返回可实例化的类 4 P = namedtuple(“人”, […

    Python开发 2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部