找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 914|回复: 0

[求助] 【pyside6】在一个tab里为什么不能修改其他tab的属性?

1

主题

1

帖子

1

积分

贫民

积分
1
Chitanda 发表于 2022-9-21 22:29:25 | 显示全部楼层 |阅读模式
在一个GUI界面里新建了两个Tab页,分别定义成了不同的类,为什么在其中一个tab类里不能修改另一个tab的控件属性呢?
from PySide6.QtWidgets import *


class TabA(QWidget):
    def __init__(self):
        super().__init__()
        self.hbox = QHBoxLayout()
        self.btn = QPushButton('A')
        self.btn.clicked.connect(self.click)
        self.lbl = QLabel('aaa')
        self.hbox.addWidget(self.btn)
        self.hbox.addWidget(self.lbl)
        self.setLayout(self.hbox)

    def click(self):
        self.lbl.setText('bbb')
        print('bbb')


class TabB(QWidget):
    def __init__(self):
        super().__init__()
        self.hbox = QHBoxLayout()
        self.btn = QPushButton('B')
        self.btn.clicked.connect(self.click)
        self.hbox.addWidget(self.btn)
        self.setLayout(self.hbox)

    def click(self):
        TabA().click()


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.tab = QTabWidget()
        self.tab.addTab(TabA(), '1')
        self.tab.addTab(TabB(), '2')
        vbox = QVBoxLayout()
        vbox.addWidget(self.tab)
        main_widget = QWidget()
        main_widget.setLayout(vbox)
        self.setCentralWidget(main_widget)


def main():
    app = QApplication()
    window = MainWindow()
    window.show()
    app.exec()


if __name__ == '__main__':
    main()


求大神看看按钮A和B调用了同一个函数,为啥只有A能修改label的值而B修改不了呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表