0
내 팝업 창의 결과에 문제가 있습니다. 아래에서는 문제를 이해하기 위해 코드 일부를 보여 줬습니다.확인 대화 상자에서 결과를 얻는 방법
사용자가 GUI에서 어떤 선택을하는 일종의 팝업 창입니다. 이 후 "Are you sure?"라는 질문이 있고 "Yes"와 "No"두 개의 버튼이있는 창을 표시해야합니다.
문제는 내가 아래 코드 (msg.show()
전후)를 테스트 할 때 False
과 동일한 값으로 설정된다는 것입니다. 또,>False
는
True
을 줄 버튼을 클릭하면 버튼을- :이처럼 작동 나던 왜
False
어떻게 적절하게 처리 할 수 있습니까? 다른 접근법이 있습니까? 당신이 창을 닫은 전에 "창 표시 한 후"인쇄되기 때문에
from PyQt4 import QtCore, QtGui
from Message import Ui_Message
import sys
class MessageBox(QtGui.QDialog):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent=None)
self.msg = Ui_Message()
self.msg.setupUi(self)
self.confirmed=False
self.declined=False
QtCore.QObject.connect(self.msg.NoButton, QtCore.SIGNAL(("clicked()")), self.Declined)
QtCore.QObject.connect(self.msg.YesButton, QtCore.SIGNAL(("clicked()")), self.Confirmed)
def Confirmed(self):
self.confirmed = True
MessageBox.close(self)
return True
def Declined(self):
self.declined = True
MessageBox.close(self)
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
msg = MessageBox()
print('Befor show window',msg.confirmed)
msg.show()
print('After show window', msg.confirmed)
sys.exit(app.exec_())