2016-05-22 8 views
2

Ich mache so eine App in PyQt5, die einen Dialog hat. Aber der Dialog sieht wirklich störend aus, wenn er mit Pyuic läuft.PyQt5 Dialog Widgets aussehen glitchy, wenn mit pyuic

Hier ist ein Video von dem, was vor sich geht: https://youtu.be/3oJ7EMiJxO0 Wie Sie sehen können, der Dialog zeigt mit der „Vorschau“ Funktion in Ordnung, aber wenn ich es mit Python und pyuic laufen, sind die Etiketten und Dropdown-Listen unusably glitchy. Die Taste scheint aber gut zu funktionieren ...

Ich habe Fedora 23 Workstation mit GNOME 3 und Python 2.7 ausgeführt.

Hier ist der Inhalt meiner .ui Datei ...

<?xml version="1.0" encoding="UTF-8"?> 
<ui version="4.0"> 
<author>David Teresi</author> 
<class>Dialog</class> 
<widget class="QDialog" name="Dialog"> 
    <property name="enabled"> 
    <bool>true</bool> 
    </property> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>258</width> 
    <height>300</height> 
    </rect> 
    </property> 
    <property name="windowTitle"> 
    <string>backflip Settings</string> 
    </property> 
    <property name="autoFillBackground"> 
    <bool>false</bool> 
    </property> 
    <property name="sizeGripEnabled"> 
    <bool>false</bool> 
    </property> 
    <widget class="QDialogButtonBox" name="buttonBox"> 
    <property name="geometry"> 
    <rect> 
    <x>-90</x> 
    <y>260</y> 
    <width>341</width> 
    <height>32</height> 
    </rect> 
    </property> 
    <property name="orientation"> 
    <enum>Qt::Horizontal</enum> 
    </property> 
    <property name="standardButtons"> 
    <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> 
    </property> 
    </widget> 
    <widget class="QGroupBox" name="groupBox"> 
    <property name="geometry"> 
    <rect> 
    <x>10</x> 
    <y>0</y> 
    <width>241</width> 
    <height>261</height> 
    </rect> 
    </property> 
    <property name="title"> 
    <string>backflip Settings</string> 
    </property> 
    <widget class="QWidget" name="layoutWidget"> 
    <property name="geometry"> 
    <rect> 
     <x>10</x> 
     <y>60</y> 
     <width>155</width> 
     <height>22</height> 
    </rect> 
    </property> 
    <layout class="QHBoxLayout" name="horizontalLayout_2"> 
    <item> 
     <widget class="QLabel" name="UpdateEveryLabel"> 
     <property name="text"> 
     <string>Update every</string> 
     </property> 
     </widget> 
    </item> 
    <item> 
     <widget class="QComboBox" name="UpdateEverySelect"> 
     <property name="contextMenuPolicy"> 
     <enum>Qt::DefaultContextMenu</enum> 
     </property> 
     <item> 
     <property name="text"> 
     <string>Day</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>Week</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>Hour</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>Minute</string> 
     </property> 
     </item> 
     </widget> 
    </item> 
    </layout> 
    </widget> 
    <widget class="QPushButton" name="RefreshButton"> 
    <property name="geometry"> 
    <rect> 
     <x>10</x> 
     <y>230</y> 
     <width>75</width> 
     <height>23</height> 
    </rect> 
    </property> 
    <property name="text"> 
    <string>Refresh</string> 
    </property> 
    </widget> 
    <widget class="QWidget" name=""> 
    <property name="geometry"> 
    <rect> 
     <x>10</x> 
     <y>20</y> 
     <width>109</width> 
     <height>22</height> 
    </rect> 
    </property> 
    <layout class="QHBoxLayout" name="horizontalLayout"> 
    <item> 
     <widget class="QLabel" name="ThemeLabel"> 
     <property name="text"> 
     <string>Theme</string> 
     </property> 
     </widget> 
    </item> 
    <item> 
     <widget class="QComboBox" name="ThemeSelect"> 
     <property name="contextMenuPolicy"> 
     <enum>Qt::DefaultContextMenu</enum> 
     </property> 
     <item> 
     <property name="text"> 
     <string>None</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>Buildings</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>Food</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>Nature</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>Technology</string> 
     </property> 
     </item> 
     <item> 
     <property name="text"> 
     <string>People</string> 
     </property> 
     </item> 
     </widget> 
    </item> 
    </layout> 
    </widget> 
    </widget> 
</widget> 
<resources/> 
<connections> 
    <connection> 
    <sender>buttonBox</sender> 
    <signal>accepted()</signal> 
    <receiver>Dialog</receiver> 
    <slot>accept()</slot> 
    <hints> 
    <hint type="sourcelabel"> 
    <x>248</x> 
    <y>254</y> 
    </hint> 
    <hint type="destinationlabel"> 
    <x>157</x> 
    <y>274</y> 
    </hint> 
    </hints> 
    </connection> 
    <connection> 
    <sender>buttonBox</sender> 
    <signal>rejected()</signal> 
    <receiver>Dialog</receiver> 
    <slot>reject()</slot> 
    <hints> 
    <hint type="sourcelabel"> 
    <x>316</x> 
    <y>260</y> 
    </hint> 
    <hint type="destinationlabel"> 
    <x>286</x> 
    <y>274</y> 
    </hint> 
    </hints> 
    </connection> 
</connections> 
</ui> 

Könnte mir jemand helfen mit diesem?

+0

stoßen? (Wenn das funktioniert: P) – TheInitializer

Antwort

1

Ich kann von Ihnen Designer-Datei sehen, dass weder Ihr QDialog noch QGroupBox ein Layout zugewiesen haben. Sie sollten QVBoxLayout verwenden. Sie müssen wahrscheinlich auch einige vertikale Abstandhalter hinzufügen.

+0

Danke, ich werde versuchen, ein vertikales Layout hinzuzufügen. (wusste vorher nicht über Layouts!) – TheInitializer

+0

Aaaand ... es funktioniert! Sieht ein bisschen anders aus (Widgets erweitern sich, um den verfügbaren Platz zu füllen), aber nicht ganz schlecht. Vielen Dank! – TheInitializer