首页 PyQt5教程 PyQt QToolButton工具按钮控件API方法和信号
pay pay
教程目录

PyQt QToolButton工具按钮控件API方法和信号

日期: 四月 25, 2023, 8:50 a.m.
栏目: PyQt5教程
阅读: 218
作者: Python自学网-村长

摘要: QToolButton是一个工具按钮控件,它通常用于工具栏和菜单中。它提供了一些常用的操作,如打开文件、保存文件、复制粘贴等,同时还可以自定义按钮的图标和快捷键。

QToolButton是一个工具按钮控件,它通常用于工具栏和菜单中。它提供了一些常用的操作,如打开文件、保存文件、复制粘贴等,同时还可以自定义按钮的图标和快捷键。

下面是一些常用的QToolButton的API方法和信号:

API方法

  • setToolButtonStyle(style: Qt.ToolButtonStyle):设置工具按钮的样式
  • setDefaultAction(action: QAction):设置默认动作
  • setAutoRaise(enabled: bool):设置是否自动升起
  • setPopupMode(mode: QToolButton.ToolButtonPopupMode):设置弹出模式
  • setMenu(menu: QMenu):设置菜单
  • setToolButtonStyle(style: Qt.ToolButtonStyle):设置工具按钮的样式
  • setArrowType(type: Qt.ArrowType):设置箭头类型
  • setIcon(icon: QIcon):设置按钮的图标
  • setText(text: str):设置按钮的文本
  • setShortcut(shortcut: Union[QKeySequence, str]):设置快捷键

信号

  • clicked(bool checked = False):按钮被点击时触发
  • pressed():按钮被按下时触发
  • released():按钮被释放时触发
  • toggled(bool checked):按钮的状态被改变时触发

下面是一个简单的例子,演示如何使用QToolButton:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QToolBar, QToolButton, QAction


class MyWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle('QToolButton Demo')
        self.setGeometry(100, 100, 300, 200)

        toolbar = QToolBar(self)

        # 创建一个打开文件的QAction
        open_action = QAction('Open', self)
        open_action.setIcon(self.style().standardIcon(1))
        open_action.triggered.connect(self.on_open)

        # 创建一个保存文件的QAction
        save_action = QAction('Save', self)
        save_action.setIcon(self.style().standardIcon(2))
        save_action.triggered.connect(self.on_save)

        # 创建一个复制的QAction
        copy_action = QAction('Copy', self)
        copy_action.setIcon(self.style().standardIcon(3))
        copy_action.triggered.connect(self.on_copy)

        # 创建一个剪切的QAction
        cut_action = QAction('Cut', self)
        cut_action.setIcon(self.style().standardIcon(4))
        cut_action.triggered.connect(self.on_cut)

        # 创建一个工具按钮,设置打开文件的动作和图标
        open_button = QToolButton(self)
        open_button.setDefaultAction(open_action)
        open_button.setAutoRaise(True)

        # 创建一个工具按钮,设置保存文件的动作和图标
        save_button = QToolButton(self)
        save_button.setDefaultAction(save_action)
        save_button.setAutoRaise(True)

        # 创建一个工具按钮,设置复制的动作和图标
        copy_button = QToolButton(self)
        copy_button.setDefaultAction(copy_action)
        copy_button.setAutoRaise(True)

        # 创建一个工具按钮,设置剪切
    cut_button = QToolButton(self)
    cut_button.setDefaultAction(cut_action)
    cut_button.setAutoRaise(True)

    # 添加工具按钮到工具栏
    toolbar.addWidget(open_button)
    toolbar.addWidget(save_button)
    toolbar.addSeparator()
    toolbar.addWidget(copy_button)
    toolbar.addWidget(cut_button)

def on_open(self):
    print('Open clicked')

def on_save(self):
    print('Save clicked')

def on_copy(self):
    print('Copy clicked')

def on_cut(self):
    print('Cut clicked')
if __name__ == ' __main__': 
app = QApplication(sys.argv) 
w = MyWidget() 
w.show() 
sys.exit(app.exec_())

运行该程序,会创建一个工具栏和四个工具按钮,分别对应打开文件、保存文件、复制和剪切操作。当用户点击某个工具按钮时,相应的操作会被执行。

部分文字内容为【Python自学网】原创作品,转载请注明出处!视频内容已申请版权,切勿转载!
回顶部