Seite 1 von 1

[gelöst]Wie erzeuge ich eine einfache horizontale Linie?

Verfasst: 13. September 2006 10:51
von gerome69
Hallo zusammen,
noch ne wahrscheinlich einfach zu beantwortete Frage:
Ich hätte im Layout eines Fensters einfach eine horizontale Trennlinie so wie auf dem Screenshot oben unter dem Titel und unter über den Buttons.
Ein spezielles Widget dafür habe ich nicht gefunden.
Wie baut man sowas sinnvoll. Ein leeres QWigdet mit einem bestimmten FrameStyle?

Danke für Tips, Bernd

Verfasst: 13. September 2006 12:43
von macman
Guck mal im Designer unter 'Display Widgets'.

Verfasst: 13. September 2006 13:37
von gerome69
macman hat geschrieben:Guck mal im Designer unter 'Display Widgets'.
OK, darauf hätte ich auch kommen können. Arbeite halt nie mit dem Designer, sondern schreibe den Konstruktor mit allem selbst.

Trotzdem komme ich nicht so recht weiter.
Im Code der .ui-Datei steht jetzt:

Code: Alles auswählen

  <widget class="Line" name="zwischenline" >
   <property name="geometry" >
    <rect>
     <x>100</x>
     <y>70</y>
     <width>251</width>
     <height>16</height>
    </rect>
   </property>
   <property name="orientation" >
    <enum>Qt::Horizontal</enum>
   </property>
  </widget>
Schön und gut, aber ich möchte das ganze ja einfach im Konstruktor meiner Klasse erstellen.
Ein Klasse "Line" oder vielleicht "QLine" gibt es nicht. Kann ich nicht einbinden.
Und sowas wie widget->addLine(...) auch nicht.
Stehe da immer noch auf dem Schlauch.

Gruß, Bernd

Verfasst: 13. September 2006 14:35
von Mr.DX
Du kannst dir ja zu der.ui-File den Quellcode generieren lassen. Dann siehst du ja, wie man sowas programmiert.

Verfasst: 13. September 2006 20:14
von gerome69
Mr.DX hat geschrieben:Du kannst dir ja zu der.ui-File den Quellcode generieren lassen. Dann siehst du ja, wie man sowas programmiert.
Und wie tue ich das?
Finde nur "Speichern unter" und da kann ich nur solch ein xml-File mit der Endung .ui rausspeichern. Eine andere Möglichkeit sehe ich nicht.
Aber wie gesagt habe ich den Designer auch noch nie benutzt, halte ehrlich gesagt nicht viel von solchen Klick-Bunti-Tools, sondern baue alles von Hand. Nur bei einen simplen horizontalen Linie hat mich meine Phantasie halt verlassen.

Gruß, Bernd

Verfasst: 13. September 2006 20:31
von Mr.DX
Das geht mit uic. Gug mal danach in der qt Hilfe.
In etwa dürfte es so zu bedienen sein:
uic Test.ui Test.h
Kann mich aber auch irren. Wie gesagt, die qt-Hilfe sagt dir ja etwas mehr darüber :)

Verfasst: 13. September 2006 22:53
von gerome69
Mr.DX hat geschrieben:Das geht mit uic. Gug mal danach in der qt Hilfe.
In etwa dürfte es so zu bedienen sein:
uic Test.ui Test.h
Kann mich aber auch irren. Wie gesagt, die qt-Hilfe sagt dir ja etwas mehr darüber :)
Danke, ja mit uic ging es.
Ergebnis:
Es ist ein einfacher QFrame, so wie ich es vermutet hatte.

Code: Alles auswählen

    QFrame *line=new QFrame(this);
    line->setFrameShape(QFrame::HLine);
B.