Bir ana pencereye ve bir diyalog açma olasılığına (soru, hata vb.) Sahip bir uygulama oluşturdum. Ben QMessageBox.warning()
veya QMessageBox.question()
kullanmıyorum ve böylece iletişim kutularını biraz özelleştirmek istedim.PySide make QDialog ana pencerede görünür
Ancak, yeni bir İletişim Kutusu açtığımda, Windows görev çubuğunda (Windows 10 üzerinde çalışıyorum) yeni bir 'sekme' açılır ve bu biraz rahatsız edici olur.
Kodum (kısaltılmış):
from PySide import QtCore, QtGui
import sys
class MessageBox:
def __init__(self, title, message):
msg = QtGui.QMessageBox()
flags = QtCore.Qt.Dialog
flags |= QtCore.Qt.CustomizeWindowHint
flags |= QtCore.Qt.WindowTitleHint
msg.setWindowFlags(flags)
msg.setWindowTitle(title)
msg.setText(message)
msg.exec_()
class MainWindow(QtGui.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.show()
MessageBox("Title", "My message here")
if __name__ == "__main__":
app = QtGui.QApplication([])
window = MainWindow()
sys.exit(app.exec_())
Not: Normalde, iletişim bir menü veya düğmeden denir.
Soru: Yeni bir 'görev çubuğu sekmesi' oluşturmadan iletişim penceresini ana pencerede nasıl görüntüleyebilirim?
bu http://stackoverflow.com/a/9043996/4941927 adresine bakın, size yardımcı olabilir – Milor123
@ Milor123 Teşekkürler, bunu zaten böyle yapıyorum. Düğme 'self.mybutton.clicked.connect (self.myfunc)' kullanılarak bağlanır. 'Myfunc'de,' MessageBox ("Title", "Mesajım burada") 'ifadesi kullanılarak diyalog çağrılır. Herhangi bir fikir? – linusg
Bir sınıf oluşturmanın ve yapıcıdaki tüm işi (sınıfınızı genişletmek için miras kalıyorsunuz, yoksa sadece bir işlev mi yaratıyorsunuz?) Yapmanın çok anlamlı olmadığı gerçeğinin yanı sıra, Odak ve pencere gruplamanın doğru şekilde çalışmasını sağlamak için ana iletişim kutusuna yeni iletişim kutusu. –