今天是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)的写法,它需要分开来写。
❞
最后:笔记代码存在了: https://gitee.com/qinganan_admin/Pyside6_Information