![](/img/trans.png)
[英]PyQt: QtGui.QFileDialog.getSaveFileName won't close after selection
[英]Is there a way to make the QtGui.QFileDialog.getSaveFileName as conditional in PyQt?
因此,在我的代码中,我有一个简单的getSaveFileName对话框,如下所示:
saveFileName = QtGui.QFileDialog.getSaveFileName(self, "Save File","/some/file/directory/")
在对话框中,如果您尝试覆盖文件,则对话框关闭前,对话框将提示消息框,提示“是否确定要重写”。 我想实现同一件事,但条件不同。 我想检查文件是否在特定位置,如果要在文件中抛出错误,请使用yes | 没问题,结果与出现覆盖消息时相同。 对话框关闭之前,有没有一种方法可以实现? 关闭后我已经有办法了,但这是不对的...
考虑一下:
class D(QtGui.QFileDialog):
def __init__(self,parent=None):
QtGui.QFileDialog.__init__(self,parent)
self.currentChanged.connect(self.check_first)
for bb in self.children():
if bb.__class__ == QtGui.QDialogButtonBox:
self.OK = bb.buttons()[0]
if bb.__class__ == QtGui.QLineEdit:
bb.textChanged.connect(self.check_first)
def check_first(self, filestring):
print "check"
if os.path.exists(self.selectedFiles()[0]):
self.OK.setEnabled(True)
print "OK"
else:
self.OK.setEnabled(False)
print "Not OK"
您可以将自己的支票放入check_first,在这种情况下,该文件就存在。 除了比较类,我找不到比子类更好的定位子窗口小部件的方法,但这似乎可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.