【发布时间】:2020-02-29 10:37:06
【问题描述】:
- 单击主窗口 (A) 打开一个新窗口 (B)。
- 将值保存在B。示例代码通过fileopen保存名称。
- 如果您通过单击关闭 B 并再次打开 B,则之前保存的值仍然存在。
我只想单击并重置所有值。
此外,即使 A 在 B 打开时关闭,B 仍然存在。
我也想知道怎么解决这个问题。
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class CombineClass(QDialog):
def __init__(self, parent=None):
super(CombineClass, self).__init__(parent)
self.initUI()
def initUI(self):
self.setWindowFlag(Qt.WindowContextHelpButtonHint, False)
self.label = QPushButton("file name", self)
self.label.clicked.connect(self.fileselect)
self.label.move(150,100)
self.label2 = QLabel("print", self)
self.label2.move(50,100)
self.setWindowTitle("combine")
self.resize(300, 200)
self.center()
def fileselect(self):
filename = QFileDialog.getOpenFileNames(self, "Open Files", "C:\\Users\\", "(*.txt)")
self.label2.setText(filename[0][0])
def center(self):
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()
self.combine = CombineClass()
def initUI(self):
self.fileselect = QPushButton("파일", self)
self.fileselect.clicked.connect(self.combine)
self.setWindowTitle("Text Master")
self.resize(600, 600)
self.center()
self.show()
def combine(self):
self.combine.show()
def center(self):
qr = self.frameGeometry()
cp = QDesktopWidget().availableGeometry().center()
qr.moveCenter(cp)
self.move(qr.topLeft())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
sys.exit(app.exec_())
【问题讨论】:
-
对不起,我第一次使用这个网站。请为每个句子插入一个标签。
-
import *通常是不好的做法。