今天是Pyside6的第三篇内容。一起来看另一个按钮。
QToolButton。
from PySide6.QtWidgets import QToolButton, QWidget, QApplication app = QApplication([]) win = QWidget() win.setWindowTitle("QToolButton按钮") btn = QToolButton(win) btn.setText("触发") btn.move(50, 50) win.show() app.exec()
它跟QPushButton有什么区别?
❝QToolButton更适合用于创建带有图标、文本或菜单的工具栏按钮。
功能:QToolButton可以显示一个下拉菜单,而QPushButton不能。
大小:QToolButton通常比QPushButton更小,因为它们通常用于工具栏或工具箱中。QPushButton通常用于窗口中,因此它们通常比QToolButton大。
用途:QToolButton通常用于需要提供更多功能或选项的场景,比如工具栏或工具箱。QPushButton则通常用于执行某个操作或触发某个事件的场景,比如提交表单或打开文件。
❞
一起看看它跟PushButton的UI。
from PySide6.QtWidgets import QToolButton, QWidget, QApplication, QPushButton app = QApplication([]) win = QWidget() win.setWindowTitle("QToolButton按钮") btn = QToolButton(win) btn.setText("触发") btn.move(50, 50) Pbtn = QPushButton(win) Pbtn.setText("触发QP") Pbtn.move(50, 70) win.show() app.exec()
QToolButton制作下拉列表
以下写法先做了解,后续代码中,我哦们都将以这样的写法来输出。
from PySide6.QtGui import QAction from PySide6.QtWidgets import QApplication, QWidget, QToolButton, QMenu import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 300, 200) self.setWindowTitle('QToolButton') # 创建一个QToolButton tool = QToolButton(self) tool.setText('欢迎关注') # 设置弹出模式 tool.setPopupMode(QToolButton.MenuButtonPopup) # 在QToolButton中添加一个下拉菜单 menu = QMenu(self) action1 = QAction('QING AN', self) action2 = QAction('V: qing_an_an', self) menu.addAction(action1) menu.addAction(action2) tool.setMenu(menu) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec())
其他功能
其他的基本与QPushButton没有什么太大的区别了。简单的列举两个QToolButton其他的用法例子。
from PySide6.QtCore import Qt from PySide6.QtGui import QAction, QIcon from PySide6.QtWidgets import QApplication, QWidget, QToolButton, QMenu import sys class Example(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setGeometry(300, 300, 300, 200) self.setWindowTitle('QToolButton') # 创建一个QToolButton tool = QToolButton(self) tool.setText('欢迎关注') tool.setIcon(QIcon("图标.png")) # 设置图标与文字并排显示 tool.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) # 设置弹出模式 tool.setPopupMode(QToolButton.MenuButtonPopup) # 在QToolButton中添加一个下拉菜单 menu = QMenu(self) action1 = QAction('QING AN', self) action2 = QAction('V: qing_an_an', self) menu.addAction(action1) menu.addAction(action2) tool.setMenu(menu) self.show() menu.triggered.connect(self.get_text) def get_text(self,txt): t = txt.text() print(t) if __name__ == '__main__': app = QApplication(sys.argv) ex = Example() sys.exit(app.exec())
❝上述的信号与槽内容, 会在后续讲到,此处只需要知道这样用即可
❞
补充
❝QToolButton不能跟QPushButton一样QPushButton("",self)的写法,它需要分开来写。
❞
最后:笔记代码存在了