1.QPushButton(按钮)

分类 名称 说明 示例代码
属性 text() 获取文字 btn.text()
属性 setText(str) 设置文字 btn.setText("确定")
属性 setEnabled(bool) 启用/禁用 btn.setEnabled(False)
属性 setIcon(QIcon) 设置图标 btn.setIcon(QIcon("save.png"))
属性 setShortcut(str) 设置快捷键 btn.setShortcut("Ctrl+S")
信号 clicked() 单击 btn.clicked.connect(lambda: print("clicked"))
信号 pressed() 按下 btn.pressed.connect(lambda: print("pressed"))
信号 released() 释放 btn.released.connect(lambda: print("released"))
信号 toggled(bool) 可check时状态变化 btn.toggled.connect(lambda c: print(c))
click() 代码触发点击 btn.click()
animateClick(msec=100) 动画点击 btn.animateClick()
setChecked(bool) 设check状态 btn.setChecked(True)
toggle() 反转check btn.toggle()

2. QLineEdit(单行输入框)

分类 名称 说明 示例代码
属性 text() 获取文字 le.text()
属性 setText(str) 设置文字 le.setText("hello")
属性 setPlaceholderText(str) 灰提示 le.setPlaceholderText("请输入")
属性 setMaxLength(int) 最大长度 le.setMaxLength(10)
属性 setEchoMode(QLineEdit.Password) 密码模式 le.setEchoMode(QLineEdit.Password)
属性 setReadOnly(bool) 只读 le.setReadOnly(True)
属性 setAlignment(Qt.AlignCenter) 对齐 le.setAlignment(Qt.AlignCenter)
信号 textChanged(str) 文字变化 le.textChanged.connect(lambda t: print(t))
信号 returnPressed() 回车 le.returnPressed.connect(self.search)
信号 editingFinished() 编辑完成 le.editingFinished.connect(self.save)
clear() 清空 le.clear()
selectAll() 全选 le.selectAll()
copy() 复制 le.copy()
cut() 剪切 le.cut()
paste() 粘贴 le.paste()
redo() 重做 le.redo()
undo() 撤销 le.undo()

3. QTextEdit(富文本框)

分类 名称 说明 示例代码
属性 toHtml() 获取HTML html = te.toHtml()
属性 setHtml(str) 设置HTML te.setHtml("hi")
属性 toPlainText() 获取纯文本 txt = te.toPlainText()
属性 setPlainText(str) 设置纯文本 te.setPlainText("hi")
属性 setReadOnly(bool) 只读 te.setReadOnly(True)
属性 setLineWrapMode(QTextEdit.WidgetWidth) 自动换行 te.setLineWrapMode(QTextEdit.WidgetWidth)
信号 textChanged() 内容变化 te.textChanged.connect(lambda: print("changed"))
append(str) 尾部追加 te.append("new line")
insertHtml(str) 插入HTML te.insertHtml("italic")
insertPlainText(str) 插入纯文本 te.insertPlainText("text")
clear() 清空 te.clear()
zoomIn(int=1) 放大 te.zoomIn()
zoomOut(int=1) 缩小 te.zoomOut()
scrollToAnchor(str) 滚动到锚点 te.scrollToAnchor("chap1")

4. QPlainTextEdit(纯文本框)

分类 名称 说明 示例代码
属性 toPlainText() 获取全文 txt = pte.toPlainText()
属性 setPlainText(str) 设置全文 pte.setPlainText("abc")
属性 setReadOnly(bool) 只读 pte.setReadOnly(True)
属性 setMaximumBlockCount(int) 最大块数 pte.setMaximumBlockCount(1000)
属性 blockCount() 当前块数 cnt = pte.blockCount()
信号 textChanged() 内容变化 pte.textChanged.connect(lambda: print("chg"))
appendPlainText(str) 尾部追加 pte.appendPlainText("log")
appendHtml(str) 尾部追加HTML pte.appendHtml("warn")
clear() 清空 pte.clear()
centerCursor() 滚动到光标 pte.centerCursor()
selectAll() 全选 pte.selectAll()
copy() 复制 pte.copy()
cut() 剪切 pte.cut()
paste() 粘贴 pte.paste()
undo() 撤销 pte.undo()
redo() 重做 pte.redo()
zoomIn(int=1) 放大 pte.zoomIn()
zoomOut(int=1) 缩小 pte.zoomOut()

5. QLabel(文字/图片)

分类 名称 说明 示例代码
属性 text() 获取文字 txt = lbl.text()
属性 setText(str) 设置文字 lbl.setText("hello")
属性 setPixmap(QPixmap) 设置图片 lbl.setPixmap(QPixmap("cat.png"))
属性 setScaledContents(bool) 图片自动缩放 lbl.setScaledContents(True)
属性 setAlignment(Qt.AlignCenter) 居中 lbl.setAlignment(Qt.AlignCenter)
属性 setWordWrap(bool) 自动换行 lbl.setWordWrap(True)
属性 setOpenExternalLinks(bool) 允许打开外链 lbl.setOpenExternalLinks(True)
信号 linkActivated(str) 链接被点击 lbl.linkActivated.connect(lambda u: print(u))
信号 linkHovered(str) 悬停链接 lbl.linkHovered.connect(lambda u: print("hover", u))
clear() 清空 lbl.clear()
setNum(int/float) 显示数字 lbl.setNum(3.14)

6. QCheckBox(复选框)

分类 名称 说明 示例代码
属性 isChecked() 是否勾选 chk.isChecked()
属性 setChecked(bool) 设置勾选 chk.setChecked(True)
属性 setTristate(bool) 启用三态 chk.setTristate(True)
属性 checkState() 返回Qt.CheckState st = chk.checkState()
信号 clicked(bool) 点击 chk.clicked.connect(lambda c: print(c))
信号 toggled(bool) 勾选变化 chk.toggled.connect(lambda c: print(c))
信号 stateChanged(int) 三态变化 chk.stateChanged.connect(lambda s: print(s))
click() 代码点击 chk.click()
animateClick() 动画点击 chk.animateClick()
toggle() 反转状态 chk.toggle()

7. QRadioButton(单选按钮)

分类 名称 说明 示例代码
属性 isChecked() 是否选中 rb.isChecked()
属性 setChecked(bool) 设置选中 rb.setChecked(True)
信号 clicked(bool) 点击 rb.clicked.connect(lambda c: print(c))
信号 toggled(bool) 选中变化 rb.toggled.connect(lambda c: print(c))
click() 代码点击 rb.click()
animateClick() 动画点击 rb.animateClick()

8. QComboBox(下拉框)

分类 名称 说明 示例代码
函数 addItem(str, userData=None) 增加项 cb.addItem("北京")
函数 insertItem(index, str, userData=None) 插入项 cb.insertItem(0, "--请选择--")
函数 removeItem(index) 删除项 cb.removeItem(1)
函数 clear() 清空 cb.clear()
函数 currentIndex() 当前索引 idx = cb.currentIndex()
函数 currentText() 当前文字 txt = cb.currentText()
函数 setCurrentIndex(index) 设当前项 cb.setCurrentIndex(2)
函数 setCurrentText(str) 设当前文字 cb.setCurrentText("上海")
函数 setEditable(bool) 可编辑 cb.setEditable(True)
函数 count() 项总数 n = cb.count()
信号 currentIndexChanged(int) 索引变化 cb.currentIndexChanged.connect(lambda i: print(i))
信号 currentTextChanged(str) 文字变化 cb.currentTextChanged.connect(lambda t: print(t))
信号 activated(int) 用户选中 cb.activated.connect(lambda i: print("user", i))
showPopup() 下拉 cb.showPopup()
hidePopup() 收起 cb.hidePopup()
clearEditText() 清空编辑框 cb.clearEditText()

9. QSpinBox(整数选择)

分类 名称 说明 示例代码
函数 setRange(min, max) 一次设范围 sp.setRange(0, 100)
函数 setValue(int) 设值 sp.setValue(50)
函数 value() 取值 v = sp.value()
函数 setPrefix(str) 前缀 sp.setPrefix("$")
函数 setSuffix(str) 后缀 sp.setSuffix(" kg")
函数 setSingleStep(int) 单步 sp.setSingleStep(5)
信号 valueChanged(int) 值变化 sp.valueChanged.connect(lambda v: print(v))
信号 textChanged(str) 文字变化 sp.textChanged.connect(lambda t: print(t))
stepUp() 增加一步 sp.stepUp()
stepDown() 减少一步 sp.stepDown()
selectAll() 全选 sp.selectAll()

10. QDoubleSpinBox(小数选择)

分类 名称 说明 示例代码
函数 setDecimals(int) 小数位数 dsp.setDecimals(2)
函数 setRange(min, max) 范围 dsp.setRange(0.0, 99.99)
函数 setValue(float) 设值 dsp.setValue(3.14)
函数 value() 取值 v = dsp.value()
函数 setSingleStep(float) 单步 dsp.setSingleStep(0.1)
信号 valueChanged(float) 值变化 dsp.valueChanged.connect(lambda v: print(v))
信号 textChanged(str) 文字变化 dsp.textChanged.connect(lambda t: print(t))
stepUp() 增步 dsp.stepUp()
stepDown() 减步 dsp.stepDown()
selectAll() 全选 dsp.selectAll()

11. QSlider(滑块)

分类 名称 说明 示例代码
函数 setRange(min, max) 范围 sld.setRange(0, 100)
函数 setValue(int) 设值 sld.setValue(50)
函数 value() 取值 v = sld.value()
函数 setOrientation(Qt.Horizontal) 横向 sld.setOrientation(Qt.Horizontal)
函数 setSingleStep(int) 单步 sld.setSingleStep(1)
函数 setPageStep(int) 页步 sld.setPageStep(10)
信号 valueChanged(int) 值变化 sld.valueChanged.connect(lambda v: print(v))
信号 sliderPressed() 按下 sld.sliderPressed.connect(lambda: print("press"))
信号 sliderMoved(int) 拖动 sld.sliderMoved.connect(lambda v: print(v))
信号 sliderReleased() 释放 sld.sliderReleased.connect(lambda: print("release"))
triggerAction(QAbstractSlider.SliderSingleStepAdd) 模拟步进 sld.triggerAction(QSlider.SliderSingleStepAdd)

12. QProgressBar(进度条)

分类 名称 说明 示例代码
函数 setRange(min, max) 范围 pb.setRange(0, 100)
函数 setValue(int) 设值 pb.setValue(75)
函数 value() 取值 v = pb.value()
函数 reset() 重置 pb.reset()
函数 setTextVisible(bool) 文字可见 pb.setTextVisible(True)
函数 setFormat(str) 格式 pb.setFormat("%p%")
函数 setOrientation(Qt.Horizontal) 方向 pb.setOrientation(Qt.Vertical)
信号 valueChanged(int) 值变化 pb.valueChanged.connect(lambda v: print(v))
setValue(int) 代码设值 pb.setValue(90)

13. QTabWidget(页签)

分类 名称 说明 示例代码
函数 addTab(QWidget, str) → int 加页 idx = tab.addTab(w, "首页")
函数 insertTab(index, QWidget, str) → int 插入 tab.insertTab(0, w, "新页")
函数 removeTab(index) 删页 tab.removeTab(0)
函数 clear() 清空 tab.clear()
函数 currentIndex() 当前索引 i = tab.currentIndex()
函数 setCurrentIndex(index) 设当前 tab.setCurrentIndex(1)
函数 setTabText(index, str) 改标题 tab.setTabText(0, "改名")
函数 setTabIcon(index, QIcon) 改图标 tab.setTabIcon(0, QIcon("ico.png"))
函数 setTabsClosable(bool) 显示关闭按钮 tab.setTabsClosable(True)
信号 currentChanged(int) 当前页变化 tab.currentChanged.connect(lambda i: print(i))
信号 tabCloseRequested(int) 关闭按钮点击 tab.tabCloseRequested.connect(lambda i: tab.removeTab(i))
setCurrentIndex(int) 代码切页 tab.setCurrentIndex(2)
setCurrentWidget(QWidget) 代码切页(按对象) tab.setCurrentWidget(w)

14. QTableWidget(表格)

分类 名称 说明 示例代码
函数 setRowCount(int) 设行数 tbl.setRowCount(5)
函数 setColumnCount(int) 设列数 tbl.setColumnCount(3)
函数 setItem(row, col, QTableWidgetItem) 设单元格 tbl.setItem(0, 0, QTableWidgetItem("A1"))
函数 item(row, col) → QTableWidgetItem 取单元格 it = tbl.item(0, 0)
函数 clear() 清空所有项 tbl.clear()
函数 clearContents() 只清内容留表头 tbl.clearContents()
函数 setHorizontalHeaderLabels(list) 设列标题 tbl.setHorizontalHeaderLabels(["姓名", "年龄"])
函数 setVerticalHeaderLabels(list) 设行标题 tbl.setVerticalHeaderLabels(["A", "B"])
函数 insertRow(int) 插入行 tbl.insertRow(0)
函数 insertColumn(int) 插入列 tbl.insertColumn(0)
函数 removeRow(int) 删除行 tbl.removeRow(0)
函数 removeColumn(int) 删除列 tbl.removeColumn(0)
函数 selectRow(int) 选中整行 tbl.selectRow(2)
函数 selectColumn(int) 选中整列 tbl.selectColumn(1)
函数 resizeColumnsToContents() 按内容调整列宽 tbl.resizeColumnsToContents()
函数 resizeRowsToContents() 按内容调整行高 tbl.resizeRowsToContents()
函数 setSelectionBehavior(QTableWidget.SelectRows) 整行选 tbl.setSelectionBehavior(QTableWidget.SelectRows)
函数 setSelectionMode(QTableWidget.SingleSelection) 单选 tbl.setSelectionMode(QTableWidget.SingleSelection)
信号 cellClicked(int row, int col) 单元格点击 tbl.cellClicked.connect(lambda r, c: print(r, c))
信号 cellDoubleClicked(int row, int col) 双击 tbl.cellDoubleClicked.connect(lambda r, c: print("dbl", r, c))
信号 cellChanged(int row, int col) 内容变化 tbl.cellChanged.connect(lambda r, c: print("chg", r, c))
信号 itemClicked(QTableWidgetItem) 项点击 tbl.itemClicked.connect(lambda it: print(it.text()))
信号 itemChanged(QTableWidgetItem) 项变化 tbl.itemChanged.connect(lambda it: print(it.text()))
信号 currentCellChanged(int curRow, int curCol, int prevRow, int prevCol) 当前单元格变化 tbl.currentCellChanged.connect(lambda cr, cc, pr, pc: print(cr, cc))

15. QTreeWidget(树形列表)

分类 名称 说明 示例代码
函数 addTopLevelItem(QTreeWidgetItem) 加顶层节点 root = QTreeWidgetItem(["根"]) tree.addTopLevelItem(root)
函数 insertTopLevelItem(index, QTreeWidgetItem) 插入顶层节点 tree.insertTopLevelItem(0, root)
函数 takeTopLevelItem(index) → QTreeWidgetItem 移除并返回 item = tree.takeTopLevelItem(0)
函数 currentItem() → QTreeWidgetItem 当前项 it = tree.currentItem()
函数 setCurrentItem(QTreeWidgetItem) 设当前项 tree.setCurrentItem(root)
函数 clear() 清空 tree.clear()
函数 setHeaderLabels(list) 设列标题 tree.setHeaderLabels(["名称", "大小"])
函数 setColumnWidth(int, int) 设列宽 tree.setColumnWidth(0, 150)
函数 expandItem(QTreeWidgetItem) 展开节点 tree.expandItem(root)
函数 collapseItem(QTreeWidgetItem) 折叠节点 tree.collapseItem(root)
信号 itemClicked(QTreeWidgetItem, int col) 项点击 tree.itemClicked.connect(lambda it, c: print(it.text(c)))
信号 itemDoubleClicked(QTreeWidgetItem, int col) 双击 tree.itemDoubleClicked.connect(lambda it, c: print("dbl", it.text(c)))
信号 itemChanged(QTreeWidgetItem, int col) 项变化 tree.itemChanged.connect(lambda it, c: print("chg", it.text(c)))
信号 currentItemChanged(QTreeWidgetItem current, QTreeWidgetItem previous) 当前项变化 tree.currentItemChanged.connect(lambda cur, prev: print(cur.text(0)))
信号 itemExpanded(QTreeWidgetItem) 展开 tree.itemExpanded.connect(lambda it: print("exp", it.text(0)))
信号 itemCollapsed(QTreeWidgetItem) 折叠 tree.itemCollapsed.connect(lambda it: print("col", it.text(0)))
expandAll() 全部展开 tree.expandAll()
collapseAll() 全部折叠 tree.collapseAll()

16. QListWidget(列表框)

分类 名称 说明 示例代码
函数 addItem(str) 加一项 lw.addItem("item1")
函数 insertItem(row, str) 插入项 lw.insertItem(0, "top")
函数 takeItem(row) → QListWidgetItem 移除并返回 it = lw.takeItem(0)
函数 currentRow() 当前行 r = lw.currentRow()
函数 setCurrentRow(int) 设当前行 lw.setCurrentRow(2)
函数 count() 项总数 n = lw.count()
函数 clear() 清空 lw.clear()
信号 itemClicked(QListWidgetItem) 项点击 lw.itemClicked.connect(lambda it: print(it.text()))
信号 itemDoubleClicked(QListWidgetItem) 双击 lw.itemDoubleClicked.connect(lambda it: print("dbl", it.text()))
信号 currentRowChanged(int) 当前行变化 lw.currentRowChanged.connect(lambda r: print(r))
信号 itemChanged(QListWidgetItem) 项变化 lw.itemChanged.connect(lambda it: print("chg", it.text()))
scrollToItem(QListWidgetItem) 滚动到项 lw.scrollToItem(it)
selectAll() 全选 lw.selectAll()

17. QGroupBox(分组框)

分类 名称 说明 示例代码
属性 setTitle(str) 设置标题 gb.setTitle("基本信息")
属性 setCheckable(bool) 启用复选框 gb.setCheckable(True)
属性 setChecked(bool) 设复选状态 gb.setChecked(True)
属性 setAlignment(Qt.Alignment) 标题对齐 gb.setAlignment(Qt.AlignCenter)
属性 setFlat(bool) 扁平样式 gb.setFlat(True)
信号 clicked(bool) 复选框点击 gb.clicked.connect(lambda on: print("click", on))
信号 toggled(bool) 复选框状态变化 gb.toggled.connect(lambda on: self.frame.setEnabled(on))

18. QMenu(菜单)

分类 名称 说明 示例代码
函数 addAction(str) → QAction 加文字动作 act = menu.addAction("打开")
函数 addAction(QIcon, str) → QAction 加图标动作 act = menu.addAction(QIcon("open.png"), "打开")
函数 addSeparator() 加分隔线 menu.addSeparator()
函数 addMenu(str) → QMenu 加子菜单 sub = menu.addMenu("最近文件")
函数 clear() 清空 menu.clear()
函数 popup(QPoint) 在指定位置弹出 menu.popup(QCursor.pos())
信号 triggered(QAction) 任意动作触发 menu.triggered.connect(lambda act: print(act.text()))
信号 hovered(QAction) 动作悬停 menu.hovered.connect(lambda act: print("hover", act.text()))

19. QMenuBar(菜单栏)

分类 名称 说明 示例代码
函数 addMenu(str) → QMenu 加菜单 fileMenu = menubar.addMenu("文件")
函数 addMenu(QMenu) 加已有菜单 menubar.addMenu(helpMenu)
函数 addAction(str) → QAction 加动作 act = menubar.addAction("关于")
函数 clear() 清空 menubar.clear()
信号 triggered(QAction) 动作触发 menubar.triggered.connect(lambda act: print(act.text()))
信号 hovered(QAction) 动作悬停 menubar.hovered.connect(lambda act: print("hover", act.text()))

20. QToolBar(工具栏)

分类 名称 说明 示例代码
函数 addAction(str) → QAction 加文字按钮 act = tb.addAction("保存")
函数 addAction(QIcon, str) → QAction 加图标按钮 act = tb.addAction(QIcon("save.png"), "保存")
函数 addWidget(QWidget) → QAction 加任意控件B"])
函数 insertRow(int) 插入行 tbl.insertRow(0)
函数 insertColumn(int) 插入列 tbl.insertColumn(0)
函数 removeRow(int) 删除行 tbl.removeRow(0)
函数 removeColumn(int) 删除列 tbl.removeColumn(0)
函数 selectRow(int) 选中整行 tbl.selectRow(1)
函数 selectColumn(int) 选中整列 tbl.selectColumn(2)
函数 resizeColumnsToContents() 自适应列宽 tbl.resizeColumnsToContents()
函数 resizeRowsToContents() 自适应行高 tbl.resizeRowsToContents()
函数 scrollToItem(QTableWidgetItem) 滚动到项 tbl.scrollToItem(it)
信号 cellClicked(int, int) 单元格点击 tbl.cellClicked.connect(lambda r, c: print(r, c))
信号 cellDoubleClicked(int, int) 双击 tbl.cellDoubleClicked.connect(lambda r, c: print("dbl", r, c))
信号 cellChanged(int, int) 内容变化 tbl.cellChanged.connect(lambda r, c: print("changed", r, c))
信号 itemClicked(QTableWidgetItem) 项点击 tbl.itemClicked.connect(lambda it: print(it.text()))
信号 itemChanged(QTableWidgetItem) 项变化 tbl.itemChanged.connect(lambda it: print(it.text()))
信号 currentCellChanged(int, int, int, int) 当前单元格变化 tbl.currentCellChanged.connect(lambda curR, curC, prevR, prevC: print(curR, curC))

20. QStatusBar(状态栏)

分类 名称 说明 示例代码
函数 showMessage(str, timeout=0) 临时消息 self.statusBar().showMessage("就绪", 3000)
函数 clearMessage() 清除临时消息 self.statusBar().clearMessage()
函数 currentMessage() → str 当前消息 txt = self.statusBar().currentMessage()
函数 addWidget(QWidget) 永久控件 lbl = QLabel("版本 1.0"); self.statusBar().addWidget(lbl)
函数 removeWidget(QWidget) 移除控件 self.statusBar().removeWidget(lbl)
信号 messageChanged(str) 消息变化 self.statusBar().messageChanged.connect(lambda s: print("msg", s))

21. QProgressBar(进度条)

分类 名称 说明 示例代码
函数 setRange(min, max) 范围 pb.setRange(0, 100)
函数 setValue(int) 设值 pb.setValue(75)
函数 value() 取值 v = pb.value()
函数 reset() 重置 pb.reset()
函数 setTextVisible(bool) 文字可见 pb.setTextVisible(True)
函数 setFormat(str) 格式 pb.setFormat("%p%")
函数 setOrientation(Qt.Horizontal) 方向 pb.setOrientation(Qt.Vertical)
信号 valueChanged(int) 值变化 pb.valueChanged.connect(lambda v: print(v))
setValue(int) 代码设值 pb.setValue(90)

22. QSlider(滑块)

分类 名称 说明 示例代码
函数 setRange(min, max) 范围 sld.setRange(0, 100)
函数 setValue(int) 设值 sld.setValue(50)
函数 value() 取值 v = sld.value()
函数 setOrientation(Qt.Horizontal) 横/竖 sld.setOrientation(Qt.Horizontal)
函数 setSingleStep(int) 单步 sld.setSingleStep(1)
函数 setPageStep(int) 页步 sld.setPageStep(10)
信号 valueChanged(int) 值变化 sld.valueChanged.connect(lambda v: print(v))
信号 sliderPressed() 按下 sld.sliderPressed.connect(lambda: print("press"))
信号 sliderMoved(int) 拖动 sld.sliderMoved.connect(lambda v: print(v))
信号 sliderReleased() 释放 sld.sliderReleased.connect(lambda: print("release"))
triggerAction(QAbstractSlider.SliderSingleStepAdd) 模拟步进 sld.triggerAction(QSlider.SliderSingleStepAdd)

23. QDial(旋钮)

分类 名称 说明 示例代码
函数 setRange(min, max) 范围 dial.setRange(0, 100)
函数 setValue(int) 设值 dial.setValue(50)
函数 value() 取值 v = dial.value()
函数 setNotchesVisible(bool) 刻度可见 dial.setNotchesVisible(True)
函数 setNotchTarget(double) 刻度间隔 dial.setNotchTarget(10)
信号 valueChanged(int) 值变化 dial.valueChanged.connect(lambda v: print(v))
信号 sliderPressed() 按下 dial.sliderPressed.connect(lambda: print("press"))
信号 sliderMoved(int) 拖动 dial.sliderMoved.connect(lambda v: print(v))
信号 sliderReleased() 释放 dial.sliderReleased.connect(lambda: print("release"))
triggerAction(QAbstractSlider.SliderSingleStepAdd) 模拟步进 dial.triggerAction(QDial.SliderSingleStepAdd)

24. QScrollBar(滚动条)

分类 名称 说明 示例代码
函数 setRange(min, max) 范围 sb.setRange(0, 255)
函数 setValue(int) 设值 sb.setValue(128)
函数 value() 取值 v = sb.value()
函数 setSingleStep(int) 单步 sb.setSingleStep(1)
函数 setPageStep(int) 页步 sb.setPageStep(10)
信号 valueChanged(int) 值变化 sb.valueChanged.connect(lambda v: print(v))
信号 sliderPressed() 按下 sb.sliderPressed.connect(lambda: print("press"))
信号 sliderMoved(int) 拖动 sb.sliderMoved.connect(lambda v: print(v))
信号 sliderReleased() 释放 sb.sliderReleased.connect(lambda: print("release"))
triggerAction(QAbstractSlider.SliderSingleStepAdd) 模拟步进 sb.triggerAction(QScrollBar.SliderSingleStepAdd)

25. QTabBar(独立页签栏)

分类 名称 说明 示例代码
函数 addTab(str) → int 加页签 idx = tabbar.addTab("新标签")
函数 insertTab(index, str) → int 插入 idx = tabbar.insertTab(0, "首页")
函数 removeTab(index) 删除 tabbar.removeTab(0)
函数 setTabText(index, str) 改文字 tabbar.setTabText(0, "改名")
函数 setTabIcon(index, QIcon) 改图标 tabbar.setTabIcon(0, QIcon("ico.png"))
函数 currentIndex() 当前索引 i = tabbar.currentIndex()
函数 setCurrentIndex(index) 设当前 tabbar.setCurrentIndex(1)
函数 setTabsClosable(bool) 显示关闭按钮 tabbar.setTabsClosable(True)
函数 moveTab(int from, int to) 移动页签 tabbar.moveTab(1, 0)
信号 currentChanged(int) 当前变化 tabbar.currentChanged.connect(lambda i: print(i))
信号 tabCloseRequested(int) 关闭按钮点击 tabbar.tabCloseRequested.connect(lambda i: tabbar.removeTab(i))
信号 tabMoved(int from, int to) 拖拽移动 tabbar.tabMoved.connect(lambda f, t: print(f"move {f}->{t}"))
setCurrentIndex(int) 代码切页 tabbar.setCurrentIndex(2)

26. QFontComboBox(字体选择)

分类 名称 说明 示例代码
函数 setCurrentFont(QFont) 设字体 fcb.setCurrentFont(QFont("Consolas", 10))
函数 currentFont() → QFont 取字体 f = fcb.currentFont()
函数 setFontFilters(QFontComboBox.MonospacedFonts) 过滤器 fcb.setFontFilters(QFontComboBox.MonospacedFonts)
函数 setWritingSystem(QFontDatabase.Latin) 书写系统 fcb.setWritingSystem(QFontDatabase.Latin)
信号 currentFontChanged(QFont) 字体变化 fcb.currentFontChanged.connect(lambda f: print(f.family()))

27. QCalendarWidget(日历)

分类 名称 说明 示例代码
函数 setSelectedDate(QDate) 设选中日期 cal.setSelectedDate(QDate.currentDate())
函数 selectedDate() → QDate 取选中日期 d = cal.selectedDate()
函数 setDateRange(minQDate, maxQDate) 可选范围 cal.setDateRange(QDate(2020, 1, 1), QDate(2030, 12, 31))
函数 setFirstDayOfWeek(Qt.DayOfWeek) 每周首日 cal.setFirstDayOfWeek(Qt.Monday)
函数 setGridVisible(bool) 网格可见 cal.setGridVisible(True)
函数 setNavigationBarVisible(bool) 导航条可见 cal.setNavigationBarVisible(False)
信号 clicked(QDate) 点击日期 cal.clicked.connect(lambda d: print(d.toString()))
信号 activated(QDate) 回车/双击日期 cal.activated.connect(lambda d: print("activate", d.toString()))
信号 selectionChanged() 选中变化 cal.selectionChanged.connect(lambda: print("sel"))
信号 currentPageChanged(int, int) 年月切换 cal.currentPageChanged.connect(lambda y, m: print(y, m))

28. QKeySequenceEdit(快捷键录入)

分类 名称 说明 示例代码
函数 setKeySequence(QKeySequence) 设序列 kse.setKeySequence(QKeySequence("Ctrl+S"))
函数 keySequence() → QKeySequence 取序列 ks = kse.keySequence()
函数 clear() 清空 kse.clear()
信号 keySequenceChanged(QKeySequence) 序列变化 kse.keySequenceChanged.connect(lambda ks: print(ks.toString()))
信号 editingFinished() 编辑完成 kse.editingFinished.connect(lambda: print("done"))

29. QLCDNumber(数码管)

分类 名称 说明 示例代码
函数 display(str/int/float) 显示值 lcd.display(123) or lcd.display("123") or lcd.display(3.14)
函数 setDigitCount(int) 位数 lcd.setDigitCount(5)
函数 setMode(QLCDNumber.Dec) 模式(Dec/Hex/Bin/Oct) lcd.setMode(QLCDNumber.Hex)
函数 setSegmentStyle(QLCDNumber.Filled) 段样式(Outline/Filled/Flat) lcd.setSegmentStyle(QLCDNumber.Filled)
属性 smallDecimalPoint 小数点占一位 lcd.setSmallDecimalPoint(True)
信号 overflow() 溢出 lcd.overflow.connect(lambda: print("overflow"))
display(...) 同上 lcd.display(999)

30. QTextBrowser(只读富文本浏览)

分类 名称 说明 示例代码
函数 setSource(QUrl) 加载资源 browser.setSource(QUrl("qrc:/help.html"))
函数 backward() 后退 browser.backward()
函数 forward() 前进 browser.forward()
函数 reload() 重载 browser.reload()
函数 home() 首页 browser.home()
信号 anchorClicked(QUrl) 链接点击 browser.anchorClicked.connect(lambda u: print(u.toString()))
信号 backwardAvailable(bool) 后退可用 browser.backwardAvailable.connect(lambda b: print("back", b))
信号 forwardAvailable(bool) 前进可用 browser.forwardAvailable.connect(lambda b: print("fwd", b))
信号 highlighted(QUrl) 悬停链接 browser.highlighted.connect(lambda u: print("hover", u.toString()))

31. QGraphicsView(图形视图)

分类 名称 说明 示例代码
函数 setScene(QGraphicsScene) 设场景 view.setScene(scene)
函数 scene() → QGraphicsScene 取场景 s = view.scene()
函数 fitInView(QRectF, Qt.AspectRatioMode) 自适应 view.fitInView(item, Qt.KeepAspectRatio)
函数 scale(sx, sy) 缩放 view.scale(1.2, 1.2)
函数 rotate(angle) 旋转 view.rotate(90)
函数 translate(dx, dy) 平移 view.translate(10, 10)
函数 centerOn(QPointF) 中心对准 view.centerOn(item)
信号 rubberBandChanged(QRect, QPointF, QPointF) 橡皮框变化 view.rubberBandChanged.connect(lambda rect, fromScene, toScene: print(rect))
render(...) 导出图片 view.render(painter, target, source)

32. QSplitter(分割条)

分类 名称 说明 示例代码
函数 addWidget(QWidget) 加控件 sp.addWidget(w1)
函数 insertWidget(index, QWidget) 插入控件 sp.insertWidget(0, w2)
函数 setSizes(list) 设比例 sp.setSizes([100, 200])
函数 sizes() → list[int] 取比例 lst = sp.sizes()
函数 setCollapsible(index, bool) 允许折叠 sp.setCollapsible(0, False)
函数 setOrientation(Qt.Orientation) 横/竖 sp.setOrientation(Qt.Vertical)
信号 splitterMoved(pos, index) 分割条移动 sp.splitterMoved.connect(lambda pos, idx: print(pos, idx))
moveSplitter(pos, index) 代码移动 sp.moveSplitter(150, 0)

33. QScrollArea(滚动区域)

分类 名称 说明 示例代码
函数 setWidget(QWidget) 设内容控件 scroll.setWidget(w)
函数 widget() → QWidget 取内容控件 w = scroll.widget()
函数 takeWidget() → QWidget 移除并返回 w = scroll.takeWidget()
函数 setWidgetResizable(bool) 内容自适应 scroll.setWidgetResizable(True)
函数 setAlignment(Qt.Alignment) 对齐 scroll.setAlignment(Qt.AlignCenter)
信号 无专用信号

34. QToolBox(折叠工具箱)

分类 名称 说明 示例代码
函数 addItem(QWidget, str) → int 加页 idx = tb.addItem(w, "页1")
函数 insertItem(index, QWidget, str) → int 插入 idx = tb.insertItem(0, w, "首页")
函数 removeItem(index) 删除页 tb.removeItem(0)
函数 setItemText(index, str) 改标题 tb.setItemText(0, "改名")
函数 setItemIcon(index, QIcon) 改图标 tb.setItemIcon(0, QIcon("ico.png"))
函数 currentIndex() 当前索引 i = tb.currentIndex()
函数 setCurrentIndex(index) 设当前 tb.setCurrentIndex(1)
信号 currentChanged(int) 当前页变化 tb.currentChanged.connect(lambda i: print(i))

35. QFrame(分割线/装饰)

分类 名称 说明 示例代码
属性 frameShape 形状(Box/HLine/VLine/Panel/WinPanel) frm.setFrameShape(QFrame.HLine)
属性 frameShadow 阴影(Plain/Raised/Sunken) frm.setFrameShadow(QFrame.Sunken)
属性 lineWidth 线宽 frm.setLineWidth(2)
属性 midLineWidth 中线宽 frm.setMidLineWidth(0)
函数 setFrameShape(QFrame.Shape) 设形状 frm.setFrameShape(QFrame.HLine)
函数 setFrameShadow(QFrame.Shadow) 设阴影 frm.setFrameShadow(QFrame.Sunken)
函数 setLineWidth(int) 设线宽 frm.setLineWidth(3)
信号

36. QWidget(通用窗口/容器)

分类 名称 说明 示例代码
函数 setWindowTitle(str) 设标题 w.setWindowTitle("MyApp")
函数 setEnabled(bool) 启用/禁用 w.setEnabled(False)
函数 setVisible(bool) 显示/隐藏 w.setVisible(True)
函数 show() / hide() / raise() / lower() 显示/隐藏/置顶/置底 w.show()
函数 close() 关闭窗口 w.close()
函数 setLayout(QLayout) 设布局 w.setLayout(vbox)
函数 setStyleSheet(str) 设样式表 w.setStyleSheet("background:#333;")
函数 setFixedSize(w, h) 固定尺寸 w.setFixedSize(400, 300)
函数 setMinimumSize(w, h) / setMaximumSize(w, h) 最小/最大尺寸 w.setMinimumSize(200, 150)
属性 windowTitle / enabled / visible / styleSheet 同上 print(w.windowTitle())
信号 无专用信号