PyQt5入门

python GUI框架对比

  • Tkinter: python内置的GUI框架,使用TCL实现,python中内嵌了TCL解释器,使用它的时候不用安装额外的扩展包,直接import,跨平台。不足之处在于UI布局全靠代码实现,只有15种常用部件,显示效果简陋。

  • Wxpython:用得比较广泛,跨平台,C++编写,需要安装扩展模块;文档少,遇到问题不好解决,代码布局控件,不直观。

  • PyQt:QT原本是诺基亚的产品,源码用C++写的,python对QT的包装,跨平台,本地显示效果,根据系统决定,在win7下就是win7的显示效果;pyqt与qt的函数接口一致,qt开发文档丰富,所以pyqt开发文档也比较丰富;控件丰富,函数/方法多,拖曳布局;方便打包成二进制文件;GPL协议,商业程序需要购买商业版授权

为什么选择PyQt?

  • PyQt和Qt的接口完全一致,学一会二

  • 跨平台,运行效率高

  • 文档丰富,学习成本低

  • 容易打包发布

PyQt内容大纲

  • 基础控件

    • QWidget 最最最最基础的控件

    • QMainWindow 主界面控件

    • QMenuBar 菜单栏控件

    • QAction 动作控件
    • QToolBar 工具栏控件

    • QStatusBar 状态栏控件

    • QPushButton 按钮控件

    • QRadioButton 单选按钮

    • QCheckBox 复选框按钮

    • QCombobox 下拉列表框

    • QLineEdit 单行文本框

    • QTextEdit 多行文本框

    • QSpinBox 计数器

    • QSlider 滑动条

    • QCalendar 日历

    • QDataTimeEdit 日期时间控件

  • QDialog 对话框

    • QMessageBox 消息弹出式对话框

    • QInputDialog 输入对话框

    • QFontDialog 字体选择对话框

    • QFileDialog 文件对话框

  • 高级控件

    • MVD 模型视图委托

    • QListView 列表显示

    • QTableView 表格显示

    • QTreeView 树形显示

    • QTimer 定时器

    • QThread 多线程

  • 布局管理器

    • QHBoxLayout 水平布局管理器

    • QVBoxLayout 垂直布局管理器

    • QFormLayout 表单布局管理器

    • QGridLayout 网格布局管理器

  • 事件处理

    • 低级事件处理:复写对象的事件方法

    • 高级事件处理:信号与槽

  • 画图
    • 画图类

    • 控件样式

安装PyQt

pip install PyQt5

 入门例子

 打开一个界面,显示hello world
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel

class MyWidget(QWidget):
    def __init__(self):
        super(MyWidget, self).__init__()
        label = QLabel(self) # 初始化标签控件,并放入父空间
        label.setText('hello world!') # 设置标签的显示内容

if __name__ == '__main__':
    app = QApplication(sys.argv) # GUI程序的入口对象
    w = MyWidget() # 新建一个自定的控件对象
    w.resize(500, 300) # 设置控件的大小
    w.move(300, 300) # 设置控件的起始位置
    w.setWindowTitle('Simple') # 设置控件的标题
    w.show() # 显示控件
    sys.exit(app.exec_()) # 进入消息循环
 

原文链接: https://www.cnblogs.com/chusiyong/p/12903989.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    PyQt5入门

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/349127

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午5:30
下一篇 2023年3月2日 上午5:31

相关推荐