pyqt5学习之QToolButton
QToolButton继承于QAbstractButton;提供一个快速访问按钮
案例:每一个都是独立的程序
- 简单案例
- 按钮样式风格
- 设置箭头
- 自动提升
- 菜单
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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_()) # *************菜单***************结束