QMdiArea
は、方法QMdiArea::activeSubWindow()
ならびに信号QMdiArea::subWindowActivated()
を提供する。
QMdiSubWindow
は、QWidget
から(直接的に)派生し、次にQWidget::windowTitle
という特性を提供します。
これをまとめるとうまくいくはずです。
私はMCVEを「概念の証明」として(そして私のPython/PyQtスキルを訓練するために)用意しました。
サンプルコードtestQMDIActiveSubWindow.py
:
#!/usr/bin/python3
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QMdiArea, QMdiSubWindow
def updateActiveChild(subWindow):
win.setWindowTitle("MDI Test: '%s'" % subWindow.windowTitle())
if __name__ == '__main__':
app = QApplication(sys.argv)
# build GUI
win = QMainWindow()
win.resize(640, 480)
mdiArea = QMdiArea()
for title in ["Data:1", "Data:2", "Data:3", "Data:n"]:
mdiChild = QMdiSubWindow()
mdiChild.setWindowTitle(title)
mdiArea.addSubWindow(mdiChild)
mdiArea.tileSubWindows()
win.setCentralWidget(mdiArea)
win.show()
updateActiveChild(mdiArea.activeSubWindow())
# install signal handlers
mdiArea.subWindowActivated.connect(updateActiveChild)
# exec. application
sys.exit(app.exec_())
Iはcygwin64はWindows 10(64ビット)のpython3でそれをテスト:
アクティブサブウインドウのタイトルに反映されますメインウィンドウのタイトル。
コードを表示してください – eyllanesc
Qt C++ドキュメントに[QMdiArea :: subWindowActivated() '](http://doc.qt.io/qt-5/qmdiarea.html#subWindowActivated)が見つかりました。 ['MDISubWindow'](http://doc.qt.io/qt-5/qmdisubwindow.html)は[' QWidget'](http://doc.qt.io/qt-5/qwidget .html)にはプロパティ['windowTitle'](http://doc.qt.io/qt-5/qwidget.html#windowTitle-prop)があります。私はコードで試してみませんでしたが、私にとっては計画のように思えます... – Scheff