Pyside6-第三篇-QToolButton一个的按钮

简介: Pyside6-第三篇-QToolButton一个的按钮

今天是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)的写法,它需要分开来写。

最后:笔记代码存在了

目录
相关文章
Pyside6-第四篇-QCheckBox复选框
Pyside6-第四篇-QCheckBox复选框
621 0
Pyside6-第四篇-QCheckBox复选框
Pyside6-第六篇-各按钮的信号与槽
Pyside6-第六篇-各按钮的信号与槽
264 0
Pyside6-第二篇-QPushButton一个普通按钮
Pyside6-第二篇-QPushButton一个普通按钮
265 0
|
6月前
|
数据安全/隐私保护
QT基础教程(对话框2)
QT基础教程(对话框2)
70 0
|
6月前
QT基础教程(对话框1)
QT基础教程(对话框1)
59 0
Pyside6-第五篇-单选按钮QRadioButton
Pyside6-第五篇-单选按钮QRadioButton
476 0
|
前端开发 索引 Python
Python高级进阶#011 pyqt5按钮QPushButton应用
Python高级进阶#011 pyqt5按钮QPushButton应用
314 0
|
Python 容器
Python高级进阶#014 pyqt5滑块控件QSlider应用
Python高级进阶#014 pyqt5滑块控件QSlider应用
273 0
|
Python
Python高级进阶#004 pyqt5设置窗体图标
Python高级进阶#004 pyqt5设置窗体图标
218 0
|
Python
Python高级进阶#019 pyqt5菜单menu应用,新建多窗体
Python高级进阶#019 pyqt5菜单menu应用,新建多窗体
228 0