zoukankan      html  css  js  c++  java
  • 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_()) # 进入消息循环
     
  • 相关阅读:
    【转】C#控件——DataGridView单元格文本自动换行
    【转】右键的 在 vs 中打开 怎么去掉
    【转】C#使用Oracle.ManagedDataAccess.dll
    C#委托笔记
    【转】检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问
    js创建ActiveXObject无效
    ASPxGridView编辑时弹出的editform值不是当前行值的原因
    ASPxGridView后台实现隐藏新增按钮
    oracle闪回存储过程
    oracle重新编译所有invalid objects
  • 原文地址:https://www.cnblogs.com/chusiyong/p/12903989.html
Copyright © 2011-2022 走看看