[PyQt5]基本控件18 - 工具栏QToolBar

PyQt5系列文章

基本控件---
1.按钮QPushButton2.标签QLabel3.可编辑框QTextEdit4.文本提示QToolTip
5.单行输入框QLineEdit6.消息框QMessageBox7.单选按钮QRadioButton8.下拉列表QComboBox
9.图片显示QPixmap10.分组框QGroupBox11.进度条QProgressBar12.对话框QDialog
13.进度条对话框QProgressDialog14.复选框QCheckBox15.滑块QSlider16.状态栏QStatusBar
17.文件对话框QFileDialog18.工具栏QToolBar19.分割条QSplitter20.菜单栏QMenuBar
21.滚动条QScrollBar22.时间编辑框QTimeEdit23.日期编辑框QDateEdit24.时间日期编辑框QDateTimeEdit
高级控件---
1.列表控件QListWidget2.表格控件QTableWidget3.树形控件QTreeWidget4.选项卡QTabWidget
5.浮动窗口QDockWidget6.堆叠窗口QStackedWidget7.堆叠布局QStackedLayout8.网格布局QGridLayout
9.表单布局QFormLayout10.水平布局QHBoxLayout11.垂直布局QVBoxLayout12.日历QCalendarWidget
13.线程QThread14.定时器QTimer--

效果图

toolbar示例图

完整代码

import sys
from PyQt5.QtWidgets import QAction,QHBoxLayout,QWidget,QApplication,QMainWindow
from PyQt5.QtGui import QIcon

class QToolBarDemo(QMainWindow):
    def __init__(self):
        super(QToolBarDemo, self).__init__()

        self.resize(400, 150)
        #设置窗口标题
        self.setWindowTitle("QToolBarDemo")

        toolBar = self.addToolBar('File')
        new = QAction(QIcon('u1.ico'), 'new', self)
        toolBar.addAction(new)
        open = QAction(QIcon('u2.ico'), 'open', self)
        toolBar.addAction(open)
        save = QAction(QIcon('u3.ico'), 'save', self)
        toolBar.addAction(save)
        toolBar.actionTriggered[QAction].connect(self.btnClick)

        #创建水平布局
        layout = QHBoxLayout()
        mainFrame = QWidget()
        mainFrame.setLayout(layout)
        self.setCentralWidget(mainFrame)

    def btnClick(self, w):
        print("pressed tool button is:", w.text())

if  __name__ == '__main__':
    app = QApplication(sys.argv)
    main = QToolBarDemo()
    main.show()
    sys.exit(app.exec_())

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在PyQt中,可以通过将工具栏添加到QHBoxLayout中,并将其对齐方式设置为右对齐来实现工具栏控件靠右对齐。 以下是示例代码: ```python from PyQt5.QtWidgets import QMainWindow, QToolBar, QHBoxLayout, QWidget, QPushButton class MyWindow(QMainWindow): def __init__(self): super().__init__() # 创建工具栏 toolbar = QToolBar("My Toolbar", self) # 添加控件工具栏 button1 = QPushButton("Button 1", self) button2 = QPushButton("Button 2", self) toolbar.addWidget(button1) toolbar.addWidget(button2) # 创建一个水平布局 layout = QHBoxLayout() # 添加工具栏到布局中 layout.addWidget(toolbar) # 创建一个占位符部件 placeholder = QWidget() placeholder.setLayout(layout) # 设置主窗口的中心部件为占位符部件 self.setCentralWidget(placeholder) # 将工具栏对齐方式设置为右对齐 toolbar.setStyleSheet("QToolBar { spacing: 5px; } QToolBar::separator { width: 5px; height: 5px; }") toolbar.setToolButtonStyle(Qt.ToolButtonIconOnly) toolbar.setIconSize(QSize(16, 16)) toolbar.setFloatable(False) toolbar.setMovable(False) toolbar.setOrientation(Qt.Horizontal) toolbar.setAllowedAreas(Qt.TopToolBarArea) toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.setStyleSheet("QToolBar { spacing: 5px; } QToolBar::separator { width: 5px; height: 5px; }") toolbar.setToolButtonStyle(Qt.ToolButtonIconOnly) toolbar.setIconSize(QSize(16, 16)) toolbar.setFloatable(False) toolbar.setMovable(False) toolbar.setOrientation(Qt.Horizontal) toolbar.setAllowedAreas(Qt.TopToolBarArea) toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.setStyleSheet("QToolBar { spacing: 5px; } QToolBar::separator { width: 5px; height: 5px; }") toolbar.setToolButtonStyle(Qt.ToolButtonIconOnly) toolbar.setIconSize(QSize(16, 16)) toolbar.setFloatable(False) toolbar.setMovable(False) toolbar.setOrientation(Qt.Horizontal) toolbar.setAllowedAreas(Qt.TopToolBarArea) toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.setStyleSheet("QToolBar { spacing: 5px; } QToolBar::separator { width: 5px; height: 5px; }") toolbar.setToolButtonStyle(Qt.ToolButtonIconOnly) toolbar.setIconSize(QSize(16, 16)) toolbar.setFloatable(False) toolbar.setMovable(False) toolbar.setOrientation(Qt.Horizontal) toolbar.setAllowedAreas(Qt.TopToolBarArea) toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") toolbar.addWidget(button1) toolbar.addWidget(button2) toolbar.addSeparator() toolbar.addAction("Action 1") toolbar.addAction("Action 2") ``` 上述代码中,我们首先创建了一个QToolBar,并将两个QPushButton控件添加到其中。然后,我们创建一个QHBoxLayout,并将QToolBar添加到其中。接下来,我们创建一个QWidget占位符部件,并将布局设置为QHBoxLayout。最后,我们将占位符部件设置为主窗口的中心部件。 要将工具栏控件靠右对齐,我们需要设置QToolBar的样式表,并将其对齐方式设置为右对齐。在上述代码中,我们使用以下语句将工具栏对齐方式设置为右对齐: ```python toolbar.setStyleSheet("QToolBar { spacing: 5px; } QToolBar::separator { width: 5px; height: 5px; }") toolbar.setToolButtonStyle(Qt.ToolButtonIconOnly) toolbar.setIconSize(QSize(16, 16)) toolbar.setFloatable(False) toolbar.setMovable(False) toolbar.setOrientation(Qt.Horizontal) toolbar.setAllowedAreas(Qt.TopToolBarArea) ``` 这将工具栏的间距设置为5像素,并将分隔符的宽度和高度设置为5像素。然后,我们将工具栏的工具按钮样式设置为仅包含图标,并将图标大小设置为16x16像素。我们还禁用了工具栏的浮动和移动,并将其方向设置为水平。最后,我们将工具栏的允许区域设置为顶部工具栏区域。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值