Buttons in QT Window ausrichten



  • Hallöchen,

    eigentlich komme ich aus der WPF Welt, wollte mich aber mal ein bisschen in QT versuchen und stehe wahrscheinlich vor einem einfachen Problem.
    Ich habe zwei QToolButtons in meinem QWidget was wiederum in meinem QMainWindow liegt. Die beiden Buttons liegen direkt nebeneinander. Nun möchte ich, das beide immer oben rechts in der Ecke kleben und die Größe gleich bleibt. Wie kann ich das umsetzen?



  • In dem du sie in entsprechende Layouts steckst. Dann kannst du in die Layouts noch entsprechende QSpacerItem reinstecken, die den restlichen Platz ausfüllen.



  • Ok, also villeicht ist das irgendwie zu einfach aber ich raffe das nicht.
    Ich habe nun meine beiden Buttons in ene QHBoxLayout gepackt, die beiden Knöpfe rechts angeordnet und dann einen Spacer links daneben für die Horizontale eingefügt. Mal ganz abgesehen davon dass das QHBoxLayout bei einem GradientBackground meiner Anwendung merkwürdige Farben anzeigt hat sich von Layout ansich nichts geändert... Das Ding klebt bei Vergößern der Anwendung immer noch an der falschen Stelle. Gewünscht ist, dass es immer rechts oben ist.
    Was mache ich falsch?
    Hier der COde au der *.ui

    <widget class="QWidget" name="horizontalLayoutWidget">
        <property name="geometry">
         <rect>
          <x>1029</x>
          <y>10</y>
          <width>131</width>
          <height>31</height>
         </rect>
        </property>
        <layout class="QHBoxLayout">
         <item>
          <spacer name="spacer">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
          </spacer>
         </item>
         <item>
          <widget class="QToolButton" name="MinMaxButton">
           <property name="icon">
            <iconset>
             <normaloff>D:/Icons/Vista Icon Pack ST/Folders/Alert015.ico</normaloff>D:/Icons/Vista Icon Pack ST/Folders/Alert015.ico</iconset>
           </property>
          </widget>
         </item>
         <item>
          <widget class="QToolButton" name="SchliessenButton">
           <property name="icon">
            <iconset>
             <normaloff>D:/Icons/Vista Icon Pack ST/Folders/Alert016.ico</normaloff>D:/Icons/Vista Icon Pack ST/Folders/Alert016.ico</iconset>
           </property>
          </widget>
         </item>
        </layout>
       </widget>
    


  • Was heißt an der falschen Stelle? Wenn die vertikal falsch angeordnet sind, musst du dein HBoxLayout noch in ein VBoxLayout stecken und da einen vertical Spacer einfügen.
    Seh ich das richtig, du hast sie in einem eigenen Widget und die Laoyuts/Spacer sind auch in dem Widget? Aber das Widget fügst du ja auch dem Central Widget deines MainWindows hinzu, da musst du auch die Layouts entsprechend setzen.

    Wegen der Farbe, dein Widget kann ja eigentlich transparent sein.



  • So,

    also ich habe hier mal ein Foto von der Anwendung bzw. der Überfläche hochgeladen. Die vertikale Ausrichtung ist schon ok nur die horizontale nicht.

    http://tinypic.com/r/qobvrc/6

    Ich will einfach nur, dass bei Resize des Windows die beiden Knöpfe in rot und grün oben rechts in der Ecke bleiben. Das kann doch irgendwie nicht so schwer sein



  • Die sind doch rechts oben, wo ist das Problem? Oder meinst du den Abstand zwischen den Buttons? Das wär die Spacing Eigenschaft vom Layout.



  • Du musst dem widget_3 auch ein layout verpassen. Ansonsten passt sich garnichts an die Größe dieses Widgets an..


Anmelden zum Antworten