1

タブバーを空のスペースに右まで展開したい。そして、すべてのタブの幅が同じであれば最高です。スタイルシートが機能せず、ドキュメントにオプションが見つからないため、その方法がわかりません。

from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import QtGui,QtCore
import sys

class Main(QWidget):
    def __init__(self,parent=None):
        QWidget.__init__(self)
        self.setFixedSize(600,500)

        self.tabBar=QTabBar(self)
        self.tabBar.setStyleSheet("QTabBar{width:400px;}")
        self.tabBar.setExpanding(True)

        self.layout=QVBoxLayout(self)
        self.layout.addWidget(self.tabBar)

        self.tabBar.addTab("Kontext Menu")
        self.tabBar.addTab("Settings in detail")
        self.tabBar.addTab("Help and tips")
        self.tabBar.addTab("About")
        self.tabBar.addTab("Credits")

        self.show()

if __name__ == '__main__':
    app=QApplication(sys.argv)
    sd=Main()
    app.exec()

ここに画像の説明を入力

ダイアログのサイズは固定されているため、各タブの幅を合計幅/(タブの量)として計算できるという考えがありますが、それでも各タブの幅を伝える方法がわかりません...

4

1 に答える 1

2

を使用してタブを展開できますvoid setExpanding(bool enabled)。詳細については、ドキュメントを参照してください。

http://qt-project.org/doc/qt-5.1/qtwidgets/qtabbar.html#expanding-prop

また、適切なスコープ、つまり "::tab" 部分が不足しているように見えるため、適切なスタイル構文を使用する必要があります。

QTabWidgetまた、 ではなく 自体にスタイル シートを設定する必要がありますQTabBar。最初は少し奇妙かもしれませんが、それはあなたが望むものを達成するための正しい方法です.

ここで、記述する必要があるコードを見つけることができます。

from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import QtGui,QtCore
import sys

class Main(QWidget):
    def __init__(self,parent=None):
        QWidget.__init__(self)
        self.setFixedSize(600,500)

        self.tabBar=QTabBar(self)
        self.tabBar.setStyleSheet("QTabBar::tab{width:400px;}")
        self.tabBar.setExpanding(True)

        self.layout=QVBoxLayout(self)
        self.layout.addWidget(self.tabBar)

        self.tabBar.addTab("Kontext Menu")
        self.tabBar.addTab("Settings in detail")
        self.tabBar.addTab("Help and tips")
        self.tabBar.addTab("About")
        self.tabBar.addTab("Credits")

        self.show()

if __name__ == '__main__':
    app=QApplication(sys.argv)
    sd=Main()
    app.exec()
于 2013-09-25T19:14:28.343 に答える