ich bin ganz neu hier im Forum und habe trotz Forumsuche und Googlesuche zu folgendem Problem keine Lösung gefunden:
Mit dem kleinen Codeblock möchte ich auf eine UI erstellt in QT5 zugreifen. Das funktioniert und ich habe es auch hinbekommen,
dass wenn ich auf den Button klicke, das Textfeld mit Text gefüllt wird.
Was ich jedoch nicht hinbekomme ist, dass ich auf einen Tabwechsel reagieren kann. (Im Code als Beispiel Kunden, Lieferanten, Lager)
Könnte mir hier jemand zeigen, wie das geht? Wie muss der Code aussehen?
Über eine Hilfestellung würde ich mich sehr freuen.
Hier ist der Code und die Ui
Code: Alles auswählen
from PyQt5 import QtWidgets, uic, QtCore, QtGui
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QTabWidget
import sys
class Ui(QtWidgets.QMainWindow):
def buttonKlick(self):
self.testlabel.setText("Es hat geklappt")
print('Input text: ' + self.input.text())
def __init__(self):
super(Ui, self).__init__()
uic.loadUi(r'C:\Users\MainWindow.ui', self)
self.button = self.findChild(QtWidgets.QPushButton,'ExcelTabelleErstellen')
self.button.clicked.connect(self.buttonKlick)
self.input = self.findChild(QtWidgets.QLabel,'testlabel')
self.tabDRGReport = self.findChild(QtWidgets.QWidget,"tabLieferanten")
self.show()
app = QtWidgets.QApplication(sys.argv)
window = Ui()
app.exec_()
Code: Alles auswählen
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Hauptprogramm</class>
<widget class="QMainWindow" name="Hauptprogramm">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1280</width>
<height>960</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>10</x>
<y>10</y>
<width>1091</width>
<height>851</height>
</rect>
</property>
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
<underline>true</underline>
</font>
</property>
<property name="currentIndex">
<number>2</number>
</property>
<widget class="QWidget" name="tabKunden">
<attribute name="title">
<string>Kunden</string>
</attribute>
<widget class="QPushButton" name="ExcelTabelleErstellen">
<property name="geometry">
<rect>
<x>10</x>
<y>30</y>
<width>211</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<family>Arial</family>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>ExcelDatei erstellen</string>
</property>
</widget>
<widget class="QLabel" name="testlabel">
<property name="geometry">
<rect>
<x>240</x>
<y>40</y>
<width>161</width>
<height>31</height>
</rect>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</widget>
<widget class="QWidget" name="tabLieferanten">
<attribute name="title">
<string>Lieferanten</string>
</attribute>
</widget>
<widget class="QWidget" name="tabLager">
<attribute name="title">
<string>Lager</string>
</attribute>
</widget>
</widget>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>1280</width>
<height>21</height>
</rect>
</property>
</widget>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections>
<connection>
<sender>ExcelTabelleErstellen</sender>
<signal>windowIconTextChanged(QString)</signal>
<receiver>testlabel</receiver>
<slot>setText(QString)</slot>
<hints>
<hint type="sourcelabel">
<x>231</x>
<y>80</y>
</hint>
<hint type="destinationlabel">
<x>346</x>
<y>84</y>
</hint>
</hints>
</connection>
</connections>
</ui>
Schön wäre es mit einem Codebeispiel.
Schon mal vielen Dank für Eure Hilfe.
Viele Grüße
Michael