有一个对话框。如何跟踪关闭时的点击?
目前,当您单击十字时,会发生与单击“确定”时相同的情况。
关闭我带来的对话框后,需要完成代码分支的执行。
这是对话框的代码,其中我重写了close方法,如何在单击后关闭它并中断代码?
from PyQt5 import QtCore, QtGui, QtWidgets
class DialogArchName(QtWidgets.QDialog):
def __init__(self, parent=None):
super(DialogArchName, self).__init__(parent)
self.namef = ''
self.pathf = ''
label = QtWidgets.QLabel("Введите имя архива:")
self.namefield = QtWidgets.QLineEdit()
btnchoice = QtWidgets.QPushButton('Выбрать путь', clicked=self.getpath)
self.rar_arch = QtWidgets.QRadioButton('.rar')
self.zip_arch = QtWidgets.QRadioButton('.zip')
btnOk = QtWidgets.QPushButton("Архивировать", clicked=self.getname)
layout = QtWidgets.QGridLayout(self)
layout.addWidget(btnchoice, 3, 1, 1, 1) # высота, право
layout.addWidget(label, 0, 0, 1, 3)
layout.addWidget(self.namefield, 1, 1, 1, 1)
layout.addWidget(self.rar_arch, 0, 2, 3, 3)
layout.addWidget(self.zip_arch, 1, 2, 3, 3)
layout.addWidget(btnOk, 3, 2, 1, 1)
def closeEvent(self, a0: QtWidgets.QDialog.closeEvent) -> None:
QtWidgets.QDialog.closeEvent(self, a0)
def getname(self):
self.namef = self.namefield.text()
self.hide()
return self.namef
def getpath(self):
self.pathf = QtWidgets.QFileDialog.getExistingDirectory()
return self.pathf
我不太明白你的问题是什么,试试这个:
更新:
尽管您解释得不好,但我对您的任务的理解是这样的:
主文件
前台.py