pyqt5t标签页删除恢复

python pyqt5 tabwidget 定义一个界面并重复加入到tabwidget中,每一个界面都进行不同的内容输入(比如)。现在删除其中一个标签页,如何将它恢复?因为所有的界面都是一样的,调用对象名不能区分出来,还有其他打开的方法吗?

我通常是把删除的对象存储起来,在需要进行恢复的时候调回来。
题主的(比如)我没有看见,如果输入的内容是固定的,可以通过我的方法写一个数组记录删除的对象及内容。
qt的tablewidget的界面同样可以通过objectname来彼此进行区分,不存在界面一样的一说。
同样,如果界面的内容过多,建议直接写个类,通过变量去进行生成,删除时的存储也可以通过此变量存储。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: pyqt5 各种基础组件使用方式(一)中的 57_选项卡控件TabWidget 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    # 选项卡控件:QTabWidget
    
    import sys
    from PyQt5.QtCore import *
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
    
    
    class TabWidgetDemo(QTabWidget):
        def __init__(self, parent=None):
            super(TabWidgetDemo, self).__init__(parent)
    
            self.setWindowTitle("选项卡控件:QTabWidget")
    
            # 创建用于显示控件的窗口
            self.tab1 = QWidget()
            self.tab2 = QWidget()
            self.tab3 = QWidget()
            self.resize(300,00)
            # 将三个窗口与三个选项卡绑定
            self.addTab(self.tab1,'选项卡1')       # 第一个参数是窗口对象,第二个参数是选项卡的名称
            self.addTab(self.tab2,'选项卡2')
            self.addTab(self.tab3,'选项卡3')
    
            self.tab1UI()
            self.tab2UI()
            self.tab3UI()
    
        def tab1UI(self):
            layout = QFormLayout()      # 创建表单控件
            layout.addRow('姓名',QLineEdit())
            layout.addRow('地址',QLineEdit())
            self.setTabText(0,'联系方式')       # 设置选项卡的标题
            self.tab1.setLayout(layout)     # 将表单控件进行装载
    
        def tab2UI(self):
            layout = QFormLayout()
            sex = QHBoxLayout()
    
            sex_QRadio=QRadioButton('男')
            sex_QRadio.setChecked(True)     # 设置复选框默认选中状态
            sex.addWidget(sex_QRadio)
            sex.addWidget(QRadioButton('女'))
            layout.addRow(QLabel('性别'),sex)
            layout.addRow('生日',QLineEdit())
            self.setTabText(1,'个人详细信息')     # 设置选项卡的标题
            self.tab2.setLayout(layout)
    
        def tab3UI(self):
            layout = QHBoxLayout()
            layout.addWidget(QLabel('科目'))
            layout.addWidget(QCheckBox('物理'))
            layout.addWidget(QCheckBox('高数'))
            self.setTabText(2,'教育程度')
            self.tab3.setLayout(layout)
    
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        demo = TabWidgetDemo()
        demo.show()
        sys.exit(app.exec_())
    
    

    显示效果如下所示:
    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^