PyQtで選択されたタブの名前を取得する方法


方法1: QTabWidgetから選択されたタブの名前を取得する

selected_tab_name = tab_widget.tabText(tab_widget.currentIndex())
print(selected_tab_name)

方法2: シグナルとスロットを使用して選択されたタブの名前を取得する

from PyQt5.QtWidgets import QApplication, QMainWindow, QTabWidget
from PyQt5.QtCore import pyqtSlot
class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.tab_widget = QTabWidget(self)
        self.tab_widget.currentChanged.connect(self.tab_changed)
    @pyqtSlot(int)
    def tab_changed(self, index):
        selected_tab_name = self.tab_widget.tabText(index)
        print(selected_tab_name)
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()

方法3: イベントフィルターを使用して選択されたタブの名前を取得する

from PyQt5.QtCore import QEvent
class TabWidget(QTabWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.installEventFilter(self)
    def eventFilter(self, obj, event):
        if obj == self and event.type() == QEvent.CurrentChanged:
            selected_tab_name = self.tabText(self.currentIndex())
            print(selected_tab_name)
        return super().eventFilter(obj, event)
app = QApplication([])
tab_widget = TabWidget()
tab_widget.addTab(QWidget(), "タブ1")
tab_widget.addTab(QWidget(), "タブ2")
tab_widget.show()
app.exec_()

これらの方法を使用することで、PyQtで選択されたタブの名前を取得することができます。ご希望の方法を選んで実装してみてください。