【问题标题】:How can I save file in QTabwidget?如何在 QTabwidget 中保存文件?
【发布时间】:2020-02-01 16:32:49
【问题描述】:

这是我的代码,但我必须添加保存方法才能在选项卡中保存文本。我该怎么做?

class Main(QMainWindow):
    def __init__(self, parent=None):
        super(Main, self).__init__(parent)

        self.initUi()

    def initUi(self):
        self.setWindowTitle("Text Editor")
        self.resize(800, 600)

        self.tab = QTabWidget(self)
        self.setCentralWidget(self.tab)
        self.tab.tabCloseRequested[int].connect(self.on_tab_close)

    def addtab(self, content, fileName):
        self.tab.addTab(QPlainTextEdit(str(content)), str(fileName))

【问题讨论】:

    标签: python-3.x save pyqt5 qtabwidget


    【解决方案1】:

    只需保留对您创建的每个新编辑器的引用,而不是直接添加实例。

    class Main(QMainWindow):
        # ...
        def initUi(self):
            self.setWindowTitle("Text Editor")
            self.resize(800, 600)
    
            self.tab = QTabWidget(self)
            self.setCentralWidget(self.tab)
            self.tab.tabCloseRequested[int].connect(self.on_tab_close)
    
            self.editors = []
    
        def addtab(self, content, fileName):
            editor = QPlainTextEdit(str(content))
            self.tab.addTab(editor, str(fileName))
            self.editors.append(editor)
    
        def save(self):
            index = self.tab.currentIndex()
            if index < 0:
                return
            fileName, filter = QFileDialog.getSaveFileName(self, 'Save')
            if fileName:
                with open(fileName, 'w') as f:
                    f.write(self.editors[index].toPlainText())
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 2013-05-08
      • 2019-11-06
      • 2014-01-14
      相关资源
      最近更新 更多