如何在 QTabwidget 中保存文件?
Posted
技术标签:
【中文标题】如何在 QTabwidget 中保存文件?【英文标题】:How can I save file in 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))
【问题讨论】:
【参考方案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())
【讨论】:
以上是关于如何在 QTabwidget 中保存文件?的主要内容,如果未能解决你的问题,请参考以下文章
通过单击 QTabWidget 外部的按钮,将每个选项卡(QTabWidget)中的数组保存到 QTabWidget 外部的二维数组