[ Python ] PyQt5 PySide2 笔记
2022-05-03 23:24
821 查看
https://www.cnblogs.com/yeungchie/
PyQt5
from PyQt5.QtWidgets import * from PyQt5.QtCore import * from PyQt5.QtGui import *
PySide2
from PySide2.QtWidgets import * from PySide2.QtCore import * from PySide2.QtGui import *
顶部应用
QApplication
app = QApplication([]) app.setStyle(QStyleFactory.create('Fusion')) # 稍微好看点的样式 app.exec_()
部件
QWidget
wg = QWidget()
窗口标题
wg.setWindowTitle('YEUNGCHIE')
窗口尺寸
- 初始尺寸
wg.resize(300, 200) # 设置尺寸 wg.size() # 获取当前尺寸
- 最小/大尺寸
wg.setMinimumSize(300, 200) # 设置最小尺寸 wg.setMaximumSize(300, 200) # 设置最大尺寸 wg.minimumSize() # 获取最小尺寸 wg.maximumSize() # 获取最大尺寸
- 固定尺寸
wg.setFixedSize(300, 200) # 固定尺寸 wg.setFixedWidth(300) # 固定宽度 wg.setFixedHeight(200) # 固定高度
- 宽度
wg.setMinimumWidth(300) # 设置最小宽度 wg.setMaximumWidth(300) # 设置最大宽度 wg.minimumWidth() # 获取最小宽度 wg.maximumWidth() # 获取最大宽度
- 高度
wg.setMinimumHeight(200) # 设置最小高度 wg.setMaximumHeight(200) # 设置最大高度 wg.minimumHeight() # 获取最小高度 wg.maximumHeight() # 获取最大高度
窗口位置
wg.move(300, 200)
窗口置顶
wg.setWindowFlags(Qt.WindowStaysOnTopHint)
设置布局
wg.setLayout(self.gridLayout)
QLabel
label = QLabel()
文本
label.setText('LABEL') # 设置文本 label.text() # 获取文本 label.setIndent() # 设置文本缩进 label.setToolTip( 'Tips' ) # 设置提示 label.setAlignment( Qt.AlignCenter | Qt.AlignRight ) # 设置文本对齐方式
事件
- 点击
label.linkClicked.connect(function) # 点击
- 划过
label.setText('<a href="https://baidu.com">Baidu</a>') label.linkHovered.connect(function) # 划过
QCheckBox
checkBox = QCheckBox()
文本
checkBox.setText( 'Enable' ) # 设置文本 checkBox.text() # 获取文本
点击
checkBox.setChecked(True) # 选中 checkBox.setChecked(False) # 不选中 checkBox.isChecked() # 返回选中状态
QLineEdit
lineEdit = QLineEdit()
文本
lineEdit.setText( 'working dir' ) # 设置文本 lineEdit.text() # 获取文本
提示词
lineEdit.setPlaceholderText( '输入框内提示词' ) lineEdit.setToolTip( '鼠标悬停提示词' )
QComboBox
comboBox = QComboBox()
添加选项
comboBox.addItem('virtuoso') comboBox.addItem('skipper') comboBox.addItems('R0 R90 MX MY MYR90'.split(' ')) comboBox.insertItem(5, 'MXR90') # 索引 5 的位置插入 MXR90 comboBox.insertItems(2, ['R180', 'R270'])
移除选项
comboBox.removeItem(0) # 移除第 0 个
选择选项
comboBox.setCurrentText( 'virtuoso' ) # 设置选择(文本) comboBox.currentText() # 获取选择(文本) comboBox.setCurrentIndex() # 设置选择(索引) comboBox.currentIndex() # 获取选择(索引)
选项编辑
comboBox.setItemText(0, 'Calibre') # 将第 0 个选项改为 Calibre
QPushButton
pushButton = QPushButton()
文本
pushButton.setText( 'OK' ) # 设置文本 pushButton.text() # 获取文本
事件
pushButton.linkClicked.connect(function) # 点击
布局
QFormLayout
formLayout = QFormLayout()
标签对齐
formLayout.setLabelAlignment( Qt.AlignCenter | Qt.AlignRight ) # 靠右中心对齐
增加 row
formLayout.addRow("标签1 Label", label) formLayout.addRow("标签2 CheckBox", checkBox)
QGridLayout
gridLayout = QGridLayout()
添加组件
gridLayout.addWidget(label, 0, 0) # 布置于 row0, col0 gridLayout.addWidget(checkBox , 0, 1) # 布置于 row0, col1 gridLayout.addWidget(lineEdit , 0, 2, 3, 1) # 布置于 row0, col2, row_span3, col_span1
FAQ
启动失败可以打开 debug 模式
export QT_DEBUG_PLUGINS=1
缺少 qt5dxcb 安装即可
yum -y install qt5dxcb-plugin.x86_64
相关文章推荐
- CentOS 5 下安装 python, qt库, PyQt4 流程笔记
- Python pyQt4/pyQt5 学习笔记1(空白窗口,按钮,控件事件,控件提示,窗体显示到屏幕中间,messagebox)
- Python学习笔记-pyqt1
- [python学习笔记] pyqt5下载与安装
- python学习笔记之PyQt环境的搭建
- Python pyQt4/PyQt5 学习笔记3(绝对对位,盒布局,网格布局)
- Python pyQt4/pyQt5 学习笔记2(状态栏、菜单栏和工具栏)
- Python pyQt4/PyQt5 学习笔记4(事件和信号)
- Python PyQt5 小项目:笔记本(用于记笔记 可搜索笔记 复制笔记)
- [python学习笔记] pyinstaller打包pyqt5程序无法运行
- Modern OpenGL with python (freeglut, glfw, PySide/PyQt)
- python黑帽子学习笔记1:pyqt5 designer+wmi实现进程监视器
- Python3.3 + PyQt4.10 + PySide1.2 + Eric5.4 开发环境
- 学习笔记十五--python3.6+pycharm2017.2.3+pyqt5的配置与使用
- Python学习笔记,我的一个PyQt工程,一:Python是什么鬼?
- python学习笔记4:PyQt5的安装
- Python学习笔记,我的一个PyQt工程,一:Python是什么鬼?
- vnpy量化项目-填坑1-缺少pyqt4模块----python学习笔记35
- python PyQt5/Pyside2 按钮右击菜单实例代码
- python 学习笔记(十五)