#python #pyqt
#python #pyqt
Вопрос:
Просто основной виджет с виджетом вкладок в нем.
Проблема в том, что когда я его запускаю, отображается только часть вкладок (как показано на прикрепленном рисунке). Итак, вам нужно изменить размер или прокрутить вкладки, чтобы получить последнюю.
Как я могу настроить его так, чтобы в окне отображались все вкладки с самого начала?
import sys
from PyQt4.QtGui import *
class MainWindow(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
# making tabs
tabs = QTabWidget()
tabs.addTab(QWidget(), '111111')
tabs.addTab(QWidget(), '222222')
tabs.addTab(QWidget(), '333333')
tabs.addTab(QWidget(), '444444')
# inserting in vbox
vbox = QVBoxLayout(self)
vbox.addWidget(tabs)
app = QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())
Как я могу изменить его размер для всех вкладок?
И в чем проблема — это родительский виджет, или вкладки, или vbox?
Ответ №1:
Вы можете использовать QTabWidget.setUsesScrollButtons(bool)
import sys
from PyQt4.QtGui import *
class MainWindow(QWidget):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
# making tabs
tabs = QTabWidget()
tabs.setUsesScrollButtons(False) #here is
tabs.addTab(QWidget(), '111111')
tabs.addTab(QWidget(), '222222')
tabs.addTab(QWidget(), '333333')
tabs.addTab(QWidget(), '444444')
# inserting in vbox
vbox = QVBoxLayout(self)
vbox.addWidget(tabs)
app = QApplication(sys.argv)
myapp = MainWindow()
myapp.show()
sys.exit(app.exec_())
http://doc.qt.nokia.com/4.7/qtabwidget.html#usesScrollButtons-prop