是否可以获取列表中
QTabWidget中由
addTab(QWidget()
添加的所有选项卡小部件。
我们可以使用
self.findChildren(QWidget)
,但它也会返回其内部的所有其他小部件,并且无法过滤它们。
更仔细地阅读您指出的文档:-)
QTabWidget
有一个 QWidget *widget(int index)
方法,返回索引 index
处的选项卡。用它来获取选项卡小部件。该类还有一个 int count();
告诉您有多少个选项卡。
有了这两个,您可以非常轻松地迭代所有选项卡。
我终于让它发挥作用了。将 setCentralWidget 从 tabs 更改为 tabWidget 纠正了所有错误。选项卡呈现了我在 QtDesiger 中定义的更改后的屏幕。我删除了所有调试代码。这是我修改后的代码。
import sys
from PyQt6.QtWidgets import QMainWindow, QApplication
from PyQt6 import QtWidgets
from PyQt6.uic import loadUi
# from PyQt6.QtWidgets import QTabWidget
# from PyQt6.QtCore import pyqtSignal as Signal, pyqtSlot as Slot
class MainUI(QMainWindow):
def __init__(self):
super(MainUI, self).__init__()
loadUi('D:/virtual1/AI-Project/AI_Main.ui', self)
# self.tabs = QTabWidget()
self.setCentralWidget(self.tabWidget)
self.tabWidget.currentChanged.connect(self.on_change)
def on_change(self):
num = self.tabWidget.currentIndex()
print('num = ', num)
if num == 0:
print('Index 0')
if num == 1:
print('Index 1')
if num == 2:
print('Index 2')
if num == 3:
print('Index 3')
if __name__ == "__main__":
# Allows You to Execute Code When the File Runs as a Script, but Not When It's Imported as a Module.
app = QtWidgets.QApplication(sys.argv)
window = MainUI()
window.show()
app.exec()