Tkinter: python内置的GUI框架,使用TCL实现,python中内嵌了TCL解释器,使用它的时候不用安装额外的扩展包,直接import,跨平台。不足之处在于UI布局全靠代码实现,只有15种常用部件,显示效果简陋。
Wxpython:用得比较广泛,跨平台,C++编写,需要安装扩展模块;文档少,遇到问题不好解决,代码布局控件,不直观。
PyQt:QT原本是诺基亚的产品,源码用C++写的,python对QT的包装,跨平台,本地显示效果,根据系统决定,在win7下就是win7的显示效果;pyqt与qt的函数接口一致,qt开发文档丰富,所以pyqt开发文档也比较丰富;控件丰富,函数/方法多,拖曳布局;方便打包成二进制文件;GPL协议,商业程序需要购买商业版授权
PyQt和Qt的接口完全一致,学一会二
跨平台,运行效率高
文档丰富,学习成本低
容易打包发布
基础控件
QWidget 最最最最基础的控件
QMainWindow 主界面控件
QMenuBar 菜单栏控件
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 网格布局管理器
事件处理
低级事件处理:复写对象的事件方法
高级事件处理:信号与槽
pip install PyQt5
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