qtabwidget 没有scrollbar
时间: 2023-09-18 09:08:36 浏览: 94
QTabWidget 默认不会显示滚动条,因为它是用于显示标签页的控件,如果标签页的数量过多,可以使用QScrollArea来包含QTabWidget,并在QScrollArea中显示滚动条。
以下是一个示例代码:
```
from PyQt5.QtWidgets import QApplication, QTabWidget, QWidget, QVBoxLayout, QScrollArea
import sys
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 创建tabwidget
self.tabWidget = QTabWidget()
# 添加一些tab
for i in range(10):
widget = QWidget()
layout = QVBoxLayout()
layout.addWidget(QLabel("Tab {}".format(i+1)))
widget.setLayout(layout)
self.tabWidget.addTab(widget, "Tab {}".format(i+1))
# 创建scrollarea
scrollArea = QScrollArea()
scrollArea.setWidgetResizable(True)
scrollArea.setWidget(self.tabWidget)
# 设置主窗口的布局
layout = QVBoxLayout()
layout.addWidget(scrollArea)
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWindow = MainWindow()
mainWindow.show()
sys.exit(app.exec_())
```
此代码将创建一个包含10个标签页的QTabWidget,并将其放置在具有滚动条的QScrollArea中。
阅读全文