私は2年前に尋ねられたこの質問を見ていました:すべてのタブを同じ幅にして拡張可能にする
解決策は、私にとってはうまくいかないことを除いて、まさに私が探しているものです。私のコードにはいくつかの要素が欠けていると思います。
ウィンドウのデザインには QtDesigner を使用しました。作成した をインポートし.py
ます。このファイルには、QTabWidget
サイズを変更して利用可能なすべての幅を使用したい が含まれています。横に Frame がある HBoxLayout に挿入されます。
次に、次のように進めますcontroller_file.py
。
クラスを上書きしますTabBar
:
class tabBar(QTabBar):
def __init__(self, parent=None):
QTabBar.__init__(self, parent)
def tabSizeHint(self, index):
size = QTabBar.tabSizeHint(self, index)
w = int(self.width()/self.count())
return QSize(w, size.height())
次に、.setTabBar(tabBar())
のQTabWidget
__ init__ に移動しcontroller_file.py
ます。
class flex_ctrl(QObject):
def __init__(self, model, view, parent=None):
super().__init__(parent)
self._model = model
self._view = view
self.is_save = True
self.file_name = ''
self._view.graph_tot_tab.setTabBar(tabBar())
self._get_file_menu()
self._connect_signals()
self.view.installEventFilter(self)
問題は、これを行うとバーが消えることです。タブを切り替えることができません:
これになります:
私たちを手伝ってくれますか?
PS: 申し訳ありませんが、コード全体を提供しないと、問題の完全に再現可能な例を示すことができませんでした。この「エラー」を再現する方法が見つかりませんでした