• pyqt5学习之QToolButton


    QToolButton继承于QAbstractButton;提供一个快速访问按钮

    案例:每一个都是独立的程序

    1. 简单案例
    2. 按钮样式风格
    3. 设置箭头
    4. 自动提升
    5. 菜单
    from PyQt5.Qt import *
    import sys
    
    # *************简单案例***************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle('QToolButton使用')
    # window.resize(500, 500)
    # tb = QToolButton(window)
    # tb.setText('工具')
    # tb.setIcon(QIcon('dp.png'))
    # tb.setToolTip('这是一个新建按钮')  # 提示文本
    #
    # window.show()
    #
    # sys.exit(app.exec_())
    # *************简单案例***************结束
    
    
    
    # ***************按钮样式风格*************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle('QToolButton使用')
    # window.resize(500, 500)
    # tb = QToolButton(window)
    # tb.setText('工具')
    # tb.setIcon(QIcon('dp.png'))
    # tb.setToolTip('这是一个新建按钮')  # 提示文本
    #
    # # 设置按钮样式风格
    # tb.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
    # print(tb.toolButtonStyle())
    # # Qt.ToolButtonIconOnly
    # #     仅显示图标
    # # Qt.ToolButtonTextOnly
    # #     仅显示文字
    # # Qt.ToolButtonTextBesideIcon
    # #     文本显示在图标旁边
    # # Qt.ToolButtonTextUnderIcon
    # #     文本显示在图标下方
    # # Qt.ToolButtonFollowStyle
    # #     遵循风格
    #
    # window.show()
    #
    # sys.exit(app.exec_())
    # *************按钮样式风格***************结束
    
    
    # *************设置箭头***************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle('QToolButton使用')
    # window.resize(500, 500)
    # tb = QToolButton(window)
    # tb.setText('工具')
    # tb.setIcon(QIcon('dp.png'))
    # tb.setToolTip('这是一个新建按钮')  # 提示文本
    #
    # # 设置箭头
    # tb.setArrowType(Qt.UpArrow)
    # print(tb.arrowType())
    # # Qt.NoArrow 无箭头
    # # Qt.UpArrow 向上箭头
    # # Qt.DownArrow 向下箭头
    # # Qt.LeftArrow 向左箭头
    # # Qt.RightArrow 向右箭头
    #
    # window.show()
    #
    # sys.exit(app.exec_())
    # *************设置箭头***************结束
    
    
    # *************自动提升***************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle('QToolButton使用')
    # window.resize(500, 500)
    # tb = QToolButton(window)
    # tb.setText('工具')
    # tb.resize(50, 50)
    # tb.setIcon(QIcon('dp.png'))
    # tb.setToolTip('这是一个新建按钮')  # 提示文本
    #
    # # 设置自动提升
    # tb.setAutoRaise(True)
    # print(tb.autoRaise())
    # window.show()
    #
    # sys.exit(app.exec_())
    # *************自动提升***************结束
    
    
    
    # *************菜单***************开始
    # app = QApplication(sys.argv)
    #
    # window = QWidget()
    #
    # window.setWindowTitle('QToolButton使用')
    # window.resize(500, 500)
    # tb = QToolButton(window)
    # tb.setText('工具')
    # tb.setIcon(QIcon('dp.png'))
    # tb.setToolTip('这是一个新建按钮')  # 提示文本
    #
    # # 1.设置菜单
    # menu = QMenu(tb)
    #
    # # 2.建立子菜单;行为
    # sub_menu = QMenu(menu)
    # sub_menu.setTitle('子菜单')
    # sub_menu.setIcon(QIcon('dp.png'))
    #
    # action1 = QAction(QIcon('dp.png'), '行为1', menu)
    # action1.setData(1)  # 绑定数据
    # action2 = QAction('行为2', menu)
    # action2.setData({'a':'2'})
    #
    # # 3.添加子菜单;行为到菜单中
    # menu.addMenu(sub_menu)
    # menu.addSeparator()
    # menu.addAction(action1)
    # menu.addAction(action2)
    #
    # # 4.控件设置菜单
    # tb.setMenu(menu)
    #
    # # 设置菜单弹出模式
    # tb.setPopupMode(QToolButton.InstantPopup)
    # # QToolButton.DelayedPopup  鼠标按住一会才会显示
    # # QToolButton.MenuButtonPopup  有一个专门的智商箭头
    # # QToolButton.InstantPopup  点了按钮就显示;点击信号不会发射
    #
    # def do_action(action):
    #     print("点击了行为", action.data())
    # tb.triggered.connect(do_action)
    #
    #
    #
    # window.show()
    #
    # sys.exit(app.exec_())
    # *************菜单***************结束
    View Code
  • 相关阅读:
    [CF920E] Connected Components?
    [CF981E] Addition on Segments
    [BZOJ2152] 聪聪可可
    [CF1355E] Restorer Distance
    [CF1101D] GCD Counting
    [CF827C] DNA Evolution
    [HNOI2008] 明明的烦恼
    [CF712D] Memory and Scores
    [CF609E] Minimum spanning tree for each edge
    后缀自动机应用小结 I
  • 原文地址:https://www.cnblogs.com/mosewumo/p/12505219.html
Copyright © 2020-2023  润新知