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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/469604.html
標籤:其他
上一篇:Unreal 輸入系統 決議
