Ich versuche eine runde Schaltfläche in Qt zu erstellen. Ein einfaches Formular mit einem einzigen Knopf 'PushButton' wurde im Designer erstellt. Ich versuche dies mit setMask in eine runde Schaltfläche umzuwandeln. Sobald setMask angewendet wird, verschwindet die Schaltfläche. Muss ein benutzerdefiniertes Widget erstellt werden, um eine runde Schaltfläche zu erstellen?
%Vor%Hinweis: Wenn die Schaltfläche in Code erstellt und auf ein Fenster angewendet wird, bevor das Fenster angezeigt wird, wird die Schaltfläche angezeigt. Ich möchte die WYSIWIG-Funktionen des Qt-Designers verwenden, anstatt das gesamte Formular im Code zu erstellen.
Es wird unsichtbar, aber es ist, weil Sie die Ellipse nicht um den richtigen Punkt zentriert haben.
QWidget :: setMask " bewirkt, dass nur die Teile des Widgets sichtbar sind, die sich überlappen. Wenn die Region Pixel außerhalb des rect () des Widgets enthält, steuert das Fenstersystem in dieser Bereich kann oder kann nicht sichtbar sein, abhängig von der Plattform ".
Versuchen Sie stattdessen diesen Code und Sie werden sehen:
%Vor%Ps. Warum legen Sie die Höhe des PushButton zweimal fest? Ich nehme an, das ist ein Tippfehler und du meinst Breite.
Tags und Links c++ qt qt-designer