QT: Standard-Icons?



  • Hi,

    das Standard-Icon jeder Messagebox und anderer Dialoge ist dieses hässliche rechteckige Fenster. Ich habe mein eigenes und würde dies gerne irgendwo als Standard-Icon einstellen.

    Über Google fand ich nur Antworten wie "Nutz nicht die statische Messagebox-Methode, sondern konstruiere es selbst und setze eben das Icon"...

    Ist das wirklich die einzige Möglichkeit? Da muss ich ja zig Messageboxen umbauen.



  • Was für ein rechteckiges Icon meinst du?

    Wenn du schon weißt wie es geht, kannst du doch die entsprechende Funktionalität kapseln, von mir aus auch wieder statisch. Dann machst EnhancedMessageBox::showInfo und die erstellt dann die entsprechende QMessageBox und zeigt sie an.



  • QMessageBox zeigt als icon in der titlebar das icon an, welches für die applikation/das Widget(welches QMessageBox als parent hat) verwendet.

    für die Applikation setzt du das icon via QApplication::setWindowIcon
    bei einem Widget über die Methode QWidet::setWindowIcon.



  • Mechanics: Klar, aber wie umständlich...

    firefly:
    Oh, das ParentIcon wird übernommen? Das klingt gut, danke 🙂

    Edit: Hm, funktioniert aber nicht. Ich nutze QMessageBox::warning um eine Ausgabe zu machen, parent ist this, das ist der Dialog. Dem Dialog habe ich über den UI Designer das richtige Icon verpasst und dieses wird für den Dialog auch angezeigt. Dennoch hat die Messagebox das eklige rechteckige Standard-Windows-Applikations-Icon.



  • also bei mir funktioniert es, zeigt mal beispielcode der bei dir nicht funktioniert.



  • Irgendein Code war nicht aktuell... jetzt funktioniert's, danke 🙂


Log in to reply