matplotlibwidget, label abgeschnitten etc

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
qwert2
User
Beiträge: 18
Registriert: Donnerstag 8. Januar 2015, 12:53

Hallöchen,

Wenn ich ein matplotlibwidget mit dem Qt-Designer erstelle, erscheint das Label abgeschnitten. Das könnte man beheben, indem man die Geometrie dieses Widgets vergrößert. Wie behebe ich das Problem, wenn die Maße gleich bleiben sollen? Ich müsste doch irgendwie das Verhältnis zwischen weißen und grauen Hintergrund ändern können. Außerdem stört es mich ein wenig, dass der weiße Untergrund des Tabwidgets und der graue Untergrund des matplotlibwidgets nicht vollständig überlappen. Die xml vom Designer lautet ('my_gui.ui'):
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget">
<widget class="QTabWidget" name="tabWidget">
<property name="geometry">
<rect>
<x>90</x>
<y>50</y>
<width>321</width>
<height>331</height>
</rect>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
<string>Tab 1</string>
</attribute>
<widget class="MatplotlibWidget" name="mplwidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>316</width>
<height>307</height>
</rect>
</property>
</widget>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Tab 2</string>
</attribute>
</widget>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<customwidgets>
<customwidget>
<class>MatplotlibWidget</class>
<extends>QWidget</extends>
<header>matplotlibwidget</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>
und:

Code: Alles auswählen

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.uic import *
    
def main():
    
    application = QApplication(sys.argv)
    gui= loadUi('my_gui.ui')
    
    x=[0,1,2,3,4]
    y=[0,1,2,3,4]
    
    mw=gui.mplwidget
    my_plot=mw.figure.add_subplot(111)
    my_plot.plot(x,y)   
    my_plot.set_xlabel('LABEL X')
    my_plot.set_ylabel('LABEL Y')
    mw.draw()
    
    gui.show()
    sys.exit(application.exec_())
 
if __name__ == '__main__':
    main()

Danke für eure Hilfe
Antworten