如何在QToolBar中控制QAction按钮的间距?

问题描述 投票:3回答:1

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9ON1VRRS5wbmcifQ==” alt =“在此处输入图像描述”>“ >>

QAction上添加了四个QToolBar按钮,需要设置哪些小部件属性,以及将其设置为什么值以使按钮之间没有间距。那么每个按钮并排放置吗?从下面发布的示例中可以看出,我尝试使用以下方法实现零间距:

    toolbar.setContentsMargins(0, 0, 0, 0)
    toolbar.layout().setSpacing(0)
    toolbar.layout().setContentsMargins(0, 0, 0, 0)

但是没什么区别,按钮仍然彼此隔开。...

import sys
from PyQt4.QtGui import *

class Window(QMainWindow):

    def __init__(self):
        super(Window, self).__init__()

        self.initUI()

    def initUI(self):               

        textEdit = QTextEdit()
        self.setCentralWidget(textEdit)

        btn1 = QAction(QIcon('icons/btn1.png'), 'Button 01', self)
        btn2 = QAction(QIcon('icons/btn2.png'), 'Button 02', self)
        btn3 = QAction(QIcon('icons/btn3.png'), 'Button 03', self)
        btn3.setEnabled(False)

        btn1.setShortcut('Ctrl+Q')
        btn1.triggered.connect(self.close)

        toolbar = self.addToolBar('Exit')
        toolbar.addAction(btn1)
        toolbar.addAction(btn2)
        toolbar.addAction(btn3)
        toolbar.addSeparator()

        toolbar.setContentsMargins(0, 0, 0, 0)
        toolbar.layout().setSpacing(0)
        toolbar.layout().setContentsMargins(0, 0, 0, 0)


        self.setGeometry(300, 300, 350, 250)
        self.setWindowTitle('Main window')    
        self.show()

def main():

    app = QApplication(sys.argv)
    ex = Window()
    sys.exit(app.exec_())


if __name__ == '__main__':
    main() 

在QToolBar上添加了四个QAction按钮,需要设置哪些小部件属性,以及将其设置为什么值以使按钮之间没有间距。那么每个按钮并排放置吗?可以看出...

python qt pyqt pyside qtoolbar
1个回答
10
投票

[来自QToolBar的样式表示例:

© www.soinside.com 2019 - 2024. All rights reserved.