Alles rund um die Programmierung mit Qt
Markow
Beiträge: 19 Registriert: 17. November 2011 10:54
Beitrag
von Markow » 5. Januar 2012 14:50
Hey Leute ich bin was Qt angeht noch völlig neu.
Ich meine ich kann durch Buttons Dinge füllen und ausrechnen lassen usw. aber der drecks Slider macht einfach nichts. Wie mus man den wo einbinden? Oder mus ich ein slot dafür erstellen und über ein Signal dem vorgeben was der zu tun hat?
Edit:
Ok die Dummheit ist heute wirklich grenzenlos!
Um in einem Fenster nach unten zu scrolllen schmeiss ich alles in eine QScrollArea. Leider ist die scrollbar aber grau und nicht benutzbar, obwohl viele Objekte nicht sichtbar sind.
Kann mir einer das Brett vor dem Kopf mal entfernen?
franzf
Beiträge: 3114 Registriert: 31. Mai 2006 11:15
Beitrag
von franzf » 5. Januar 2012 15:12
Schau dir das widgetResizable Property von QScrollArea an. (Vor allem auch die Doku dazu)
Markow
Beiträge: 19 Registriert: 17. November 2011 10:54
Beitrag
von Markow » 5. Januar 2012 15:23
ich verstehs nicht....
Ich arbeite mit dem Qt Creator und möchte über eingabefenster ini-files erstellen. Bei gut 50 Eingaben pro Liste mus ich eben scrollen können. Warum ist das in einem Fenster eigentlich nicht integriert? Die Dokumentation knnte für mich chinesischer nicht sein gerade :/
wo finde ich hier die Lösung?
http://harmattan-dev.nokia.com/docs/lib ... zable-prop
Edit: WidgetResizable ist enabled.
brax
Beiträge: 208 Registriert: 11. Mai 2010 11:22
Beitrag
von brax » 5. Januar 2012 15:33
Ich hab ne Vermutung, ist aber ohne Deinen Code schwer zu sagen. Du sagst, Du "schmeisst alles in eine QScrollArea". Könnte es sein, dass Du QScrollArea::setWidget mehrfach aufrufst? Wenn ja, dann landet nämlich nur das letzte Widget wirklich in der QScrollArea.
Könntest Du vielleicht etwas Code posten? Macht es einfacher...
Markow
Beiträge: 19 Registriert: 17. November 2011 10:54
Beitrag
von Markow » 5. Januar 2012 15:44
Tut mir leid für die Code Bombe
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Randbedingungen</class>
<widget class="QMainWindow" name="Randbedingungen">
<property name="enabled">
<bool>true</bool>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>668</width>
<height>722</height>
</rect>
</property>
<property name="maximumSize">
<size>
<width>20000</width>
<height>20000</height>
</size>
</property>
<property name="windowTitle">
<string>Grundlegende Randbedingungen</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QScrollArea" name="scrollArea">
<property name="geometry">
<rect>
<x>60</x>
<y>30</y>
<width>491</width>
<height>541</height>
</rect>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>489</width>
<height>539</height>
</rect>
</property>
<widget class="QLabel" name="Erdbeschleunigen">
<property name="geometry">
<rect>
<x>40</x>
<y>440</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Erdbeschleunigung</string>
</property>
</widget>
<widget class="QLabel" name="Volumenstrom">
<property name="geometry">
<rect>
<x>40</x>
<y>360</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Volumenstrom</string>
</property>
</widget>
<widget class="QLabel" name="m_3">
<property name="geometry">
<rect>
<x>260</x>
<y>240</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Meter</string>
</property>
</widget>
<widget class="QLabel" name="m_9">
<property name="geometry">
<rect>
<x>260</x>
<y>520</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>MW</string>
</property>
</widget>
<widget class="QLabel" name="Vollastleistung">
<property name="geometry">
<rect>
<x>40</x>
<y>520</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Leistung bei Volllast</string>
</property>
</widget>
<widget class="QLineEdit" name="FlowRate">
<property name="geometry">
<rect>
<x>140</x>
<y>360</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="m_8">
<property name="geometry">
<rect>
<x>260</x>
<y>440</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>m/s²</string>
</property>
</widget>
<widget class="QLineEdit" name="FullLoadPower">
<property name="geometry">
<rect>
<x>140</x>
<y>520</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="Speichervolumen">
<property name="geometry">
<rect>
<x>40</x>
<y>280</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Speichervolumen</string>
</property>
</widget>
<widget class="QLabel" name="m_10">
<property name="geometry">
<rect>
<x>260</x>
<y>480</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>MW</string>
</property>
</widget>
<widget class="QLineEdit" name="storageVolume">
<property name="geometry">
<rect>
<x>140</x>
<y>280</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="Head">
<property name="geometry">
<rect>
<x>140</x>
<y>240</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="FullLoadHours">
<property name="geometry">
<rect>
<x>140</x>
<y>320</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="FullLoadPower_2">
<property name="geometry">
<rect>
<x>140</x>
<y>480</y>
<width>113</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>0,85</string>
</property>
</widget>
<widget class="QLineEdit" name="DischargePosition">
<property name="geometry">
<rect>
<x>140</x>
<y>200</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="Fallhohe">
<property name="geometry">
<rect>
<x>40</x>
<y>240</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Fallhöhe</string>
</property>
</widget>
<widget class="QLabel" name="Wirkunggrad">
<property name="geometry">
<rect>
<x>40</x>
<y>480</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Wirkungsgrad</string>
</property>
</widget>
<widget class="QLabel" name="LageOberbecken">
<property name="geometry">
<rect>
<x>40</x>
<y>160</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Lage Oberbecken</string>
</property>
</widget>
<widget class="QLabel" name="m_5">
<property name="geometry">
<rect>
<x>260</x>
<y>320</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>h</string>
</property>
</widget>
<widget class="QLabel" name="Erdbeschleunigung">
<property name="geometry">
<rect>
<x>40</x>
<y>400</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Dichte Wasser</string>
</property>
</widget>
<widget class="QLineEdit" name="DenceWater">
<property name="geometry">
<rect>
<x>140</x>
<y>400</y>
<width>113</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>981</string>
</property>
</widget>
<widget class="QLabel" name="m_7">
<property name="geometry">
<rect>
<x>260</x>
<y>400</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>kg/m³</string>
</property>
</widget>
<widget class="QLineEdit" name="ProjectName">
<property name="geometry">
<rect>
<x>270</x>
<y>30</y>
<width>211</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="m">
<property name="geometry">
<rect>
<x>260</x>
<y>160</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Meter über NN</string>
</property>
</widget>
<widget class="QLabel" name="m_2">
<property name="geometry">
<rect>
<x>260</x>
<y>200</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Meter über NN</string>
</property>
</widget>
<widget class="QLabel" name="m_4">
<property name="geometry">
<rect>
<x>260</x>
<y>280</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>m³</string>
</property>
</widget>
<widget class="QLabel" name="label_1">
<property name="geometry">
<rect>
<x>40</x>
<y>30</y>
<width>221</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Geben Sie hier den Namen des Projektes ein</string>
</property>
</widget>
<widget class="QLabel" name="Bittegeben_2">
<property name="geometry">
<rect>
<x>40</x>
<y>100</y>
<width>281</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>Bitte geben Sie die Randbedingungen Einheitskonform ein</string>
</property>
</widget>
<widget class="QLabel" name="m_6">
<property name="geometry">
<rect>
<x>260</x>
<y>360</y>
<width>81</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>m³/s</string>
</property>
</widget>
<widget class="QLabel" name="LageUnterbecken">
<property name="geometry">
<rect>
<x>40</x>
<y>200</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Lage Unterbecken</string>
</property>
</widget>
<widget class="QLineEdit" name="ReservoirPosition">
<property name="geometry">
<rect>
<x>140</x>
<y>160</y>
<width>113</width>
<height>20</height>
</rect>
</property>
</widget>
<widget class="QLineEdit" name="GravConstant">
<property name="geometry">
<rect>
<x>140</x>
<y>440</y>
<width>113</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>9,81</string>
</property>
</widget>
<widget class="QLabel" name="Vollaststunden">
<property name="geometry">
<rect>
<x>40</x>
<y>320</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Vollaststunden</string>
</property>
</widget>
</widget>
</widget>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QMenuBar" name="menuBar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>668</width>
<height>20</height>
</rect>
</property>
<widget class="QMenu" name="menuDatei">
<property name="title">
<string>Datei</string>
</property>
<addaction name="actionSpeichern"/>
<addaction name="actionSchlie_en"/>
</widget>
<addaction name="menuDatei"/>
</widget>
<action name="actionSpeichern">
<property name="text">
<string>Speichern</string>
</property>
</action>
<action name="actionSchlie_en">
<property name="text">
<string>Schließen</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>
Es sind wie gesagt einfach nur Labels und LineEdit in der Scroll Area...ich will ja nur dass wenn ich ein Fenster 400*400 aufrufe ich die Dinge die nicht draufpassen durch scrollen sehen und nutzen kann...
Hier ein Bild ..
[url=http://imageshack.us/photo/my-imag ... .jpg[/img] [/url]
Markow
Beiträge: 19 Registriert: 17. November 2011 10:54
Beitrag
von Markow » 5. Januar 2012 16:22
Kann geschlossen werden...Lösung war Rechtklick auf die Scroll Area und dann Layout-> tabelarisch anordnen....unfasbar, aber ich habe nirgends rauslesen können, dass man so das scrollen aktiiert.
Sorry für unnötiges Nerven, aber vielleicht hilft dieser Thread einem anderen Trottel so wie mir
Wobei danach alles so festgesetzt ist, dass es bestimmt nicht die beste Lösung ist. Aber wenigstens kann man jetzt scrollen...was ja ohne tabellarische Anordnung nicht gin
franzf
Beiträge: 3114 Registriert: 31. Mai 2006 11:15
Beitrag
von franzf » 5. Januar 2012 17:39
Das liegt nicht an QScrollArea, sondern am sizeHint des anzuzeigenden Widgets. Im sizeHint steckt die Info, wie groß das Widget angezeigt werden will. Ohne Layout "schweben" deine Formuilarelemente einfach über dem scrollAreaWidget, letzteres hat einfach seine fixe Größe - basta. Erst durch das anordnen der Formularelemente in einem Layout (welches im scrollAreaWidget liegt) bekommt die ScrollArea den korrekten sizeHint für die Einrichtung der ScrollBars.
////
Und hätte ich doch auch hier auf Code bestanden, hätte sich die ganze Diskussion abkürzen lassen
(und hätte wieder eine Karmapunkt weniger
)