2009-09-12 19 views
17

Kullanıcının Python'da yazılmış gui programından çıkması için söz vermenin bir yolu var mı?PyQt uygulamasında çıkışta sor

"Programdan çıkmak istediğinizden emin misiniz?"

PyQt kullanıyorum.

+0

[PyQt4 öğreticisinin bu kısmının] "İleti Kutusu" bölümüne bakın (http://zetcode.com/tutorials/pyqt4/firstprograms/). * ([las3rjock] 'dan yanıtlayın (http://stackoverflow.com/users/94732/las3rjock) * –

+0

[PyQt4 öğreticisinin bu kısmı]' nın "Mesaj Kutusu" bölümüne bakın (http://zetcode.com/öğreticiler/PyQt4/firstprograms /). – las3rjock

cevap

45

Evet. Uygulamanızı temsil eden QWidget öğesinin varsayılan yakın davranışını geçersiz kılmanız gerekir, böylece etkinliği hemen kabul etmez.

def closeEvent(self, event): 

    quit_msg = "Are you sure you want to exit the program?" 
    reply = QtGui.QMessageBox.question(self, 'Message', 
        quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) 

    if reply == QtGui.QMessageBox.Yes: 
     event.accept() 
    else: 
     event.ignore() 

las3rjock bahsettiği PyQT tutorial bu güzel tartışma vardır: İstediğiniz temel yapısı böyle bir şeydir. Ayrıca olaylar hakkında daha fazla bilgi edinmek ve bunlarla nasıl başa çıkılacağını öğrenmek için PyQt page, özellikle official reference adresindeki Python.org adresindeki bağlantılara bakın.

+0

Ohh, çok teşekkürler! –

+2

Başka bir dilde olmak için "evet" ve "hayır" nasıl ayarlanır? Mesajım, örneğin Almanca ise, "evet" ve "hayır" yerine "ja" ve "nicht" istiyorum. – Aleksandar

+0

kutunun dışında benim için çalıştı (herhangi bir değişiklik gerekli olmadan)! –