QCombobox und QLineedit

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Momo123
User
Beiträge: 7
Registriert: Donnerstag 20. Juni 2019, 13:57

Hallo,

ich bin noch Anfäger mit Python und GUI und ich suche einen Code mit dem, wenn jemand in Combobox was wählt, dann kommt es automatisch in Lineedit einen Anzahl.

liebe Grüße und vielen Dank!
Benutzeravatar
__blackjack__
User
Beiträge: 13004
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Momo123: Sorry der Satz ist irgendwie kein sinnvolles Deutsch. *Was* soll im Lineedit automatisch ”kommen”?

Was hast Du bereits versucht?
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Momo123
User
Beiträge: 7
Registriert: Donnerstag 20. Juni 2019, 13:57

Ich habe eine Liste mit verschiedenen Materialien, die in Combobox sind. Ich will, wenn jemand ein Material davon wählt, dann kommt in Lineedit die Dichte dafür. Die Liste ist ein XML-Schema
__deets__
User
Beiträge: 14493
Registriert: Mittwoch 14. Oktober 2015, 14:29

Was hast du schon fuer Code? Bitte code-tags beim posten nicht vergessen.
Momo123
User
Beiträge: 7
Registriert: Donnerstag 20. Juni 2019, 13:57

unten ist der Code dafür
Zuletzt geändert von Momo123 am Sonntag 23. Juni 2019, 13:29, insgesamt 2-mal geändert.
Momo123
User
Beiträge: 7
Registriert: Donnerstag 20. Juni 2019, 13:57

import os
import xml.etree.ElementTree as et
from PyQt4 import QtCore, QtGui

try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
def _fromUtf8(s):
return s

try:
_encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig)

class Ui_TabWidget_Walls(object):

def Material(self):


base_path = os.path.dirname(os.path.realpath(__file__))

xml_file = os.path.join(base_path, "Data\\MaterialTemplates_v4.xml")

tree = et.parse(xml_file)
root = tree.getroot()




# Die nächste 6 Zeilen sind das Problem. Ich will, wenn ich einen Material-Name bei Combobox_Wall1 wähle, dann kommt die Dichte in LineEdit_18

for m in root.findall ('{http://teaser.material}Material'):

h = m.get('material_id')
n = m.find('{http://teaser.material}name')
self.comboBox_Wall1.addItems([n.text])


s = m.find('{http://teaser.material}density')
self.lineEdit_18.setText (s.text)





def setupUi(self, TabWidget_Walls):
TabWidget_Walls.setObjectName(_fromUtf8("TabWidget_Walls"))
TabWidget_Walls.resize(494, 493)
TabWidget_Walls.setTabShape(QtGui.QTabWidget.Triangular)
self.tab = QtGui.QWidget()
self.tab.setObjectName(_fromUtf8("tab"))
self.gridLayout_2 = QtGui.QGridLayout(self.tab)
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.pushButton_Wall1 = QtGui.QPushButton(self.tab)
self.pushButton_Wall1.setObjectName(_fromUtf8("pushButton_Wall1"))

self.pushButton_Wall1.clicked.connect(self.Material)

self.gridLayout_2.addWidget(self.pushButton_Wall1, 0, 1, 1, 1)
self.label_14 = QtGui.QLabel(self.tab)
self.label_14.setObjectName(_fromUtf8("label_14"))
self.gridLayout_2.addWidget(self.label_14, 6, 0, 1, 1)
self.label_18 = QtGui.QLabel(self.tab)
self.label_18.setObjectName(_fromUtf8("label_18"))
self.gridLayout_2.addWidget(self.label_18, 7, 0, 1, 1)
self.lineEdit_13 = QtGui.QLineEdit(self.tab)
self.lineEdit_13.setText(_fromUtf8(""))
self.lineEdit_13.setObjectName(_fromUtf8("lineEdit_13"))
self.gridLayout_2.addWidget(self.lineEdit_13, 7, 1, 1, 1)
self.label_16 = QtGui.QLabel(self.tab)
self.label_16.setObjectName(_fromUtf8("label_16"))
self.gridLayout_2.addWidget(self.label_16, 8, 0, 1, 1)
self.lineEdit_14 = QtGui.QLineEdit(self.tab)
self.lineEdit_14.setObjectName(_fromUtf8("lineEdit_14"))
self.gridLayout_2.addWidget(self.lineEdit_14, 8, 1, 1, 1)
self.lineEdit_17 = QtGui.QLineEdit(self.tab)
self.lineEdit_17.setObjectName(_fromUtf8("lineEdit_17"))
self.gridLayout_2.addWidget(self.lineEdit_17, 6, 1, 1, 1)
self.lineEdit_15 = QtGui.QLineEdit(self.tab)
self.lineEdit_15.setObjectName(_fromUtf8("lineEdit_15"))
self.gridLayout_2.addWidget(self.lineEdit_15, 11, 1, 1, 1)
self.label_17 = QtGui.QLabel(self.tab)
self.label_17.setObjectName(_fromUtf8("label_17"))
self.gridLayout_2.addWidget(self.label_17, 9, 0, 1, 1)
self.lineEdit_18 = QtGui.QLineEdit(self.tab)
self.lineEdit_18.setObjectName(_fromUtf8("lineEdit_18"))


#self.lineEdit_18.setText('Hello All')

self.gridLayout_2.addWidget(self.lineEdit_18, 9, 1, 1, 1)
self.label_13 = QtGui.QLabel(self.tab)
self.label_13.setObjectName(_fromUtf8("label_13"))
self.gridLayout_2.addWidget(self.label_13, 10, 0, 1, 1)
self.lineEdit_16 = QtGui.QLineEdit(self.tab)
self.lineEdit_16.setObjectName(_fromUtf8("lineEdit_16"))
self.gridLayout_2.addWidget(self.lineEdit_16, 10, 1, 1, 1)
self.label_15 = QtGui.QLabel(self.tab)
self.label_15.setObjectName(_fromUtf8("label_15"))
self.gridLayout_2.addWidget(self.label_15, 11, 0, 1, 1)
self.buttonBox = QtGui.QDialogButtonBox(self.tab)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
self.gridLayout_2.addWidget(self.buttonBox, 12, 0, 1, 2)
self.comboBox_Wall1 = QtGui.QComboBox(self.tab)
self.comboBox_Wall1.setObjectName(_fromUtf8("comboBox_Wall1"))
self.comboBox_Wall1.addItem(_fromUtf8(""))
self.gridLayout_2.addWidget(self.comboBox_Wall1, 1, 1, 1, 1)
self.label_25 = QtGui.QLabel(self.tab)
self.label_25.setObjectName(_fromUtf8("label_25"))
self.gridLayout_2.addWidget(self.label_25, 0, 0, 2, 1)
TabWidget_Walls.addTab(self.tab, _fromUtf8(""))
self.tab1 = QtGui.QWidget()
self.tab1.setObjectName(_fromUtf8("tab1"))
self.gridLayout_3 = QtGui.QGridLayout(self.tab1)
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
self.label_47 = QtGui.QLabel(self.tab1)
self.label_47.setObjectName(_fromUtf8("label_47"))
self.gridLayout_3.addWidget(self.label_47, 0, 0, 2, 1)
self.pushButton_Wall2 = QtGui.QPushButton(self.tab1)
self.pushButton_Wall2.setObjectName(_fromUtf8("pushButton_Wall2"))



self.gridLayout_3.addWidget(self.pushButton_Wall2, 0, 1, 1, 1)
self.comboBox_Wall1_3 = QtGui.QComboBox(self.tab1)
self.comboBox_Wall1_3.setObjectName(_fromUtf8("comboBox_Wall1_3"))
self.comboBox_Wall1_3.addItem(_fromUtf8(""))
self.gridLayout_3.addWidget(self.comboBox_Wall1_3, 1, 1, 1, 1)
self.label_44 = QtGui.QLabel(self.tab1)
self.label_44.setObjectName(_fromUtf8("label_44"))
self.gridLayout_3.addWidget(self.label_44, 2, 0, 1, 1)
self.lineEdit_38 = QtGui.QLineEdit(self.tab1)
self.lineEdit_38.setObjectName(_fromUtf8("lineEdit_38"))
self.gridLayout_3.addWidget(self.lineEdit_38, 2, 1, 1, 1)
self.label_42 = QtGui.QLabel(self.tab1)
self.label_42.setObjectName(_fromUtf8("label_42"))
self.gridLayout_3.addWidget(self.label_42, 3, 0, 1, 1)
self.lineEdit_40 = QtGui.QLineEdit(self.tab1)
self.lineEdit_40.setText(_fromUtf8(""))
self.lineEdit_40.setObjectName(_fromUtf8("lineEdit_40"))
self.gridLayout_3.addWidget(self.lineEdit_40, 3, 1, 1, 1)
self.label_43 = QtGui.QLabel(self.tab1)
self.label_43.setObjectName(_fromUtf8("label_43"))
self.gridLayout_3.addWidget(self.label_43, 4, 0, 1, 1)
self.lineEdit_42 = QtGui.QLineEdit(self.tab1)
self.lineEdit_42.setObjectName(_fromUtf8("lineEdit_42"))
self.gridLayout_3.addWidget(self.lineEdit_42, 4, 1, 1, 1)
self.label_46 = QtGui.QLabel(self.tab1)
self.label_46.setObjectName(_fromUtf8("label_46"))
self.gridLayout_3.addWidget(self.label_46, 5, 0, 1, 1)
self.lineEdit_41 = QtGui.QLineEdit(self.tab1)
self.lineEdit_41.setObjectName(_fromUtf8("lineEdit_41"))
self.gridLayout_3.addWidget(self.lineEdit_41, 5, 1, 1, 1)
self.label_45 = QtGui.QLabel(self.tab1)
self.label_45.setObjectName(_fromUtf8("label_45"))
self.gridLayout_3.addWidget(self.label_45, 6, 0, 1, 1)
self.lineEdit_37 = QtGui.QLineEdit(self.tab1)
self.lineEdit_37.setObjectName(_fromUtf8("lineEdit_37"))
self.gridLayout_3.addWidget(self.lineEdit_37, 6, 1, 1, 1)
self.label_41 = QtGui.QLabel(self.tab1)
self.label_41.setObjectName(_fromUtf8("label_41"))
self.gridLayout_3.addWidget(self.label_41, 7, 0, 1, 1)
self.lineEdit_39 = QtGui.QLineEdit(self.tab1)
self.lineEdit_39.setObjectName(_fromUtf8("lineEdit_39"))
self.gridLayout_3.addWidget(self.lineEdit_39, 7, 1, 1, 1)
self.buttonBox_2 = QtGui.QDialogButtonBox(self.tab1)
self.buttonBox_2.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox_2.setObjectName(_fromUtf8("buttonBox_2"))
self.gridLayout_3.addWidget(self.buttonBox_2, 8, 0, 1, 2)
TabWidget_Walls.addTab(self.tab1, _fromUtf8(""))
self.tab_4 = QtGui.QWidget()
self.tab_4.setObjectName(_fromUtf8("tab_4"))
self.gridLayout = QtGui.QGridLayout(self.tab_4)
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
self.label_39 = QtGui.QLabel(self.tab_4)
self.label_39.setObjectName(_fromUtf8("label_39"))
self.gridLayout.addWidget(self.label_39, 0, 0, 2, 1)
self.lineEdit_32 = QtGui.QLineEdit(self.tab_4)
self.lineEdit_32.setObjectName(_fromUtf8("lineEdit_32"))
self.gridLayout.addWidget(self.lineEdit_32, 2, 1, 1, 1)
self.comboBox_Wall1_4 = QtGui.QComboBox(self.tab_4)
self.comboBox_Wall1_4.setObjectName(_fromUtf8("comboBox_Wall1_4"))
self.comboBox_Wall1_4.addItem(_fromUtf8(""))
self.gridLayout.addWidget(self.comboBox_Wall1_4, 1, 1, 1, 1)
self.label_34 = QtGui.QLabel(self.tab_4)
self.label_34.setObjectName(_fromUtf8("label_34"))
self.gridLayout.addWidget(self.label_34, 3, 0, 1, 1)
self.pushButton_Wall3 = QtGui.QPushButton(self.tab_4)
self.pushButton_Wall3.setObjectName(_fromUtf8("pushButton_Wall3"))


self.gridLayout.addWidget(self.pushButton_Wall3, 0, 1, 1, 1)
self.label_36 = QtGui.QLabel(self.tab_4)
self.label_36.setObjectName(_fromUtf8("label_36"))
self.gridLayout.addWidget(self.label_36, 2, 0, 1, 1)
self.label_38 = QtGui.QLabel(self.tab_4)
self.label_38.setObjectName(_fromUtf8("label_38"))
self.gridLayout.addWidget(self.label_38, 5, 0, 1, 1)
self.lineEdit_34 = QtGui.QLineEdit(self.tab_4)
self.lineEdit_34.setText(_fromUtf8(""))
self.lineEdit_34.setObjectName(_fromUtf8("lineEdit_34"))
self.gridLayout.addWidget(self.lineEdit_34, 3, 1, 1, 1)
self.label_35 = QtGui.QLabel(self.tab_4)
self.label_35.setObjectName(_fromUtf8("label_35"))
self.gridLayout.addWidget(self.label_35, 4, 0, 1, 1)
self.lineEdit_36 = QtGui.QLineEdit(self.tab_4)
self.lineEdit_36.setObjectName(_fromUtf8("lineEdit_36"))
self.gridLayout.addWidget(self.lineEdit_36, 4, 1, 1, 1)
self.label_37 = QtGui.QLabel(self.tab_4)
self.label_37.setObjectName(_fromUtf8("label_37"))
self.gridLayout.addWidget(self.label_37, 6, 0, 1, 1)
self.lineEdit_31 = QtGui.QLineEdit(self.tab_4)
self.lineEdit_31.setObjectName(_fromUtf8("lineEdit_31"))
self.gridLayout.addWidget(self.lineEdit_31, 6, 1, 1, 1)
self.lineEdit_33 = QtGui.QLineEdit(self.tab_4)
self.lineEdit_33.setObjectName(_fromUtf8("lineEdit_33"))
self.gridLayout.addWidget(self.lineEdit_33, 7, 1, 1, 1)
self.label_33 = QtGui.QLabel(self.tab_4)
self.label_33.setObjectName(_fromUtf8("label_33"))
self.gridLayout.addWidget(self.label_33, 7, 0, 1, 1)
self.buttonBox_3 = QtGui.QDialogButtonBox(self.tab_4)
self.buttonBox_3.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox_3.setObjectName(_fromUtf8("buttonBox_3"))
self.gridLayout.addWidget(self.buttonBox_3, 8, 0, 1, 2)
self.lineEdit_35 = QtGui.QLineEdit(self.tab_4)
self.lineEdit_35.setObjectName(_fromUtf8("lineEdit_35"))
self.gridLayout.addWidget(self.lineEdit_35, 5, 1, 1, 1)
TabWidget_Walls.addTab(self.tab_4, _fromUtf8(""))
self.tab_5 = QtGui.QWidget()
self.tab_5.setObjectName(_fromUtf8("tab_5"))
self.gridLayout_4 = QtGui.QGridLayout(self.tab_5)
self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
self.label_40 = QtGui.QLabel(self.tab_5)
self.label_40.setObjectName(_fromUtf8("label_40"))
self.gridLayout_4.addWidget(self.label_40, 0, 0, 2, 1)
self.pushButton_Wall4_2 = QtGui.QPushButton(self.tab_5)
self.pushButton_Wall4_2.setObjectName(_fromUtf8("pushButton_Wall4_2"))



self.gridLayout_4.addWidget(self.pushButton_Wall4_2, 0, 1, 1, 1)
self.comboBox_Wall1_5 = QtGui.QComboBox(self.tab_5)
self.comboBox_Wall1_5.setObjectName(_fromUtf8("comboBox_Wall1_5"))
self.comboBox_Wall1_5.addItem(_fromUtf8(""))
self.gridLayout_4.addWidget(self.comboBox_Wall1_5, 1, 1, 1, 1)
self.label_22 = QtGui.QLabel(self.tab_5)
self.label_22.setObjectName(_fromUtf8("label_22"))
self.gridLayout_4.addWidget(self.label_22, 2, 0, 1, 1)
self.lineEdit_20 = QtGui.QLineEdit(self.tab_5)
self.lineEdit_20.setObjectName(_fromUtf8("lineEdit_20"))
self.gridLayout_4.addWidget(self.lineEdit_20, 2, 1, 1, 1)
self.label_20 = QtGui.QLabel(self.tab_5)
self.label_20.setObjectName(_fromUtf8("label_20"))
self.gridLayout_4.addWidget(self.label_20, 3, 0, 1, 1)
self.lineEdit_22 = QtGui.QLineEdit(self.tab_5)
self.lineEdit_22.setText(_fromUtf8(""))
self.lineEdit_22.setObjectName(_fromUtf8("lineEdit_22"))
self.gridLayout_4.addWidget(self.lineEdit_22, 3, 1, 1, 1)
self.label_21 = QtGui.QLabel(self.tab_5)
self.label_21.setObjectName(_fromUtf8("label_21"))
self.gridLayout_4.addWidget(self.label_21, 4, 0, 1, 1)
self.lineEdit_24 = QtGui.QLineEdit(self.tab_5)
self.lineEdit_24.setObjectName(_fromUtf8("lineEdit_24"))
self.gridLayout_4.addWidget(self.lineEdit_24, 4, 1, 1, 1)
self.label_24 = QtGui.QLabel(self.tab_5)
self.label_24.setObjectName(_fromUtf8("label_24"))
self.gridLayout_4.addWidget(self.label_24, 5, 0, 1, 1)
self.lineEdit_23 = QtGui.QLineEdit(self.tab_5)
self.lineEdit_23.setObjectName(_fromUtf8("lineEdit_23"))
self.gridLayout_4.addWidget(self.lineEdit_23, 5, 1, 1, 1)
self.label_23 = QtGui.QLabel(self.tab_5)
self.label_23.setObjectName(_fromUtf8("label_23"))
self.gridLayout_4.addWidget(self.label_23, 6, 0, 1, 1)
self.lineEdit_19 = QtGui.QLineEdit(self.tab_5)
self.lineEdit_19.setObjectName(_fromUtf8("lineEdit_19"))
self.gridLayout_4.addWidget(self.lineEdit_19, 6, 1, 1, 1)
self.label_19 = QtGui.QLabel(self.tab_5)
self.label_19.setObjectName(_fromUtf8("label_19"))
self.gridLayout_4.addWidget(self.label_19, 7, 0, 1, 1)
self.lineEdit_21 = QtGui.QLineEdit(self.tab_5)
self.lineEdit_21.setObjectName(_fromUtf8("lineEdit_21"))
self.gridLayout_4.addWidget(self.lineEdit_21, 7, 1, 1, 1)
self.buttonBox_4 = QtGui.QDialogButtonBox(self.tab_5)
self.buttonBox_4.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox_4.setObjectName(_fromUtf8("buttonBox_4"))
self.gridLayout_4.addWidget(self.buttonBox_4, 8, 0, 1, 2)
TabWidget_Walls.addTab(self.tab_5, _fromUtf8(""))

self.retranslateUi(TabWidget_Walls)
TabWidget_Walls.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(TabWidget_Walls)

def retranslateUi(self, TabWidget_Walls):
TabWidget_Walls.setWindowTitle(_translate("TabWidget_Walls", "EnergyADE", None))
self.pushButton_Wall1.setText(_translate("TabWidget_Walls", "click on to choose from catalog", None))
self.label_14.setText(_translate("TabWidget_Walls", "Area", None))
self.label_18.setText(_translate("TabWidget_Walls", "Thickness", None))
self.lineEdit_13.setPlaceholderText(_translate("TabWidget_Walls", "m", None))
self.label_16.setText(_translate("TabWidget_Walls", "U-Value", None))
self.lineEdit_14.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m²)", None))
self.lineEdit_17.setPlaceholderText(_translate("TabWidget_Walls", "m²", None))
self.lineEdit_15.setPlaceholderText(_translate("TabWidget_Walls", "J/K", None))
self.label_17.setText(_translate("TabWidget_Walls", "Density", None))
self.lineEdit_18.setPlaceholderText(_translate("TabWidget_Walls", "kg/m³", None))
self.label_13.setText(_translate("TabWidget_Walls", "Conductivity", None))
self.lineEdit_16.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m)", None))
self.label_15.setText(_translate("TabWidget_Walls", "Heat Capacity", None))
self.comboBox_Wall1.setItemText(0, _translate("TabWidget_Walls", "other", None))
self.label_25.setText(_translate("TabWidget_Walls", "Material Name", None))
TabWidget_Walls.setTabText(TabWidget_Walls.indexOf(self.tab), _translate("TabWidget_Walls", "Wall 1", None))
self.label_47.setText(_translate("TabWidget_Walls", "Material Name", None))
self.pushButton_Wall2.setText(_translate("TabWidget_Walls", "click on to choose from catalog", None))
self.comboBox_Wall1_3.setItemText(0, _translate("TabWidget_Walls", "other", None))
self.label_44.setText(_translate("TabWidget_Walls", "Area", None))
self.lineEdit_38.setPlaceholderText(_translate("TabWidget_Walls", "m²", None))
self.label_42.setText(_translate("TabWidget_Walls", "Thickness", None))
self.lineEdit_40.setPlaceholderText(_translate("TabWidget_Walls", "m", None))
self.label_43.setText(_translate("TabWidget_Walls", "U-Value", None))
self.lineEdit_42.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m²)", None))
self.label_46.setText(_translate("TabWidget_Walls", "Density", None))
self.lineEdit_41.setPlaceholderText(_translate("TabWidget_Walls", "kg/m³", None))
self.label_45.setText(_translate("TabWidget_Walls", "Conductivity", None))
self.lineEdit_37.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m)", None))
self.label_41.setText(_translate("TabWidget_Walls", "Heat Capacity", None))
self.lineEdit_39.setPlaceholderText(_translate("TabWidget_Walls", "J/K", None))
TabWidget_Walls.setTabText(TabWidget_Walls.indexOf(self.tab1), _translate("TabWidget_Walls", "Wall 2", None))
self.label_39.setText(_translate("TabWidget_Walls", "Material Name", None))
self.lineEdit_32.setPlaceholderText(_translate("TabWidget_Walls", "m²", None))
self.comboBox_Wall1_4.setItemText(0, _translate("TabWidget_Walls", "other", None))
self.label_34.setText(_translate("TabWidget_Walls", "Thickness", None))
self.pushButton_Wall3.setText(_translate("TabWidget_Walls", "click on to choose from catalog", None))
self.label_36.setText(_translate("TabWidget_Walls", "Area", None))
self.label_38.setText(_translate("TabWidget_Walls", "Density", None))
self.lineEdit_34.setPlaceholderText(_translate("TabWidget_Walls", "m", None))
self.label_35.setText(_translate("TabWidget_Walls", "U-Value", None))
self.lineEdit_36.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m²)", None))
self.label_37.setText(_translate("TabWidget_Walls", "Conductivity", None))
self.lineEdit_31.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m)", None))
self.lineEdit_33.setPlaceholderText(_translate("TabWidget_Walls", "J/K", None))
self.label_33.setText(_translate("TabWidget_Walls", "Heat Capacity", None))
self.lineEdit_35.setPlaceholderText(_translate("TabWidget_Walls", "kg/m³", None))
TabWidget_Walls.setTabText(TabWidget_Walls.indexOf(self.tab_4), _translate("TabWidget_Walls", "Wall 3", None))
self.label_40.setText(_translate("TabWidget_Walls", "Material Name", None))
self.pushButton_Wall4_2.setText(_translate("TabWidget_Walls", "click on to choose from catalog", None))
self.comboBox_Wall1_5.setItemText(0, _translate("TabWidget_Walls", "other", None))
self.label_22.setText(_translate("TabWidget_Walls", "Area", None))
self.lineEdit_20.setPlaceholderText(_translate("TabWidget_Walls", "m²", None))
self.label_20.setText(_translate("TabWidget_Walls", "Thickness", None))
self.lineEdit_22.setPlaceholderText(_translate("TabWidget_Walls", "m", None))
self.label_21.setText(_translate("TabWidget_Walls", "U-Value", None))
self.lineEdit_24.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m²)", None))
self.label_24.setText(_translate("TabWidget_Walls", "Density", None))
self.lineEdit_23.setPlaceholderText(_translate("TabWidget_Walls", "kg/m³", None))
self.label_23.setText(_translate("TabWidget_Walls", "Conductivity", None))
self.lineEdit_19.setPlaceholderText(_translate("TabWidget_Walls", "W/(K*m)", None))
self.label_19.setText(_translate("TabWidget_Walls", "Heat Capacity", None))
self.lineEdit_21.setPlaceholderText(_translate("TabWidget_Walls", "J/K", None))
TabWidget_Walls.setTabText(TabWidget_Walls.indexOf(self.tab_5), _translate("TabWidget_Walls", "Wall 4", None))


if __name__ == "__main__":
import sys
app = QtGui.QApplication(sys.argv)
TabWidget_Walls = QtGui.QTabWidget()
ui = Ui_TabWidget_Walls()
ui.setupUi(TabWidget_Walls)
TabWidget_Walls.show()
sys.exit(app.exec_())
Momo123
User
Beiträge: 7
Registriert: Donnerstag 20. Juni 2019, 13:57

Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Du musst das activated()-Signal der Combobox mit dem setText()-Slot des LineEdits verbinden. Diese Verbindung kann man sogar direkt im Designer erzeugen, wenn man möchte.

Übrigens verwendet man heutzutage kein PyQt4 mehr. Das wurde abgelöst durch PyQt5 oder alternativ PySide2.

Auch lässt man normalerweise keinen Python-Code mehr erzeugen, sondern man bindet die Oberfläche mittels loadUi() aus dem PyQt5.uic-Modul ein. Anschließend kann man sich in Python um die nicht-trivialen Verbindungen und den dafür nötigen Code kümmern und alles zusammensetzen - sinnvollerweise in mindestens einer eigenen Klasse, damit man eine gewisse Struktur hat.

Achso, wenn du die passende Dichte ausgeben willst, dann kannst du es nicht mehr unmittelbar an den besagten Slot leiten, sondern solltest einen Callback zwischenschalten und den dann als Slot verwenden.
Momo123
User
Beiträge: 7
Registriert: Donnerstag 20. Juni 2019, 13:57

def Material(self):


base_path = os.path.dirname(os.path.realpath(__file__))

xml_file = os.path.join(base_path, "Data\\MaterialTemplates_v4.xml")

tree = et.parse(xml_file)
root = tree.getroot()







for m in root.findall ('{http://teaser.material}Material'):

i = m.get('material_id')
n = m.find('{http://teaser.material}name')
d = m.find('{http://teaser.material}density')


self.comboBox_Wall1.addItems([n.text])






QtCore.QObject.connect(self.comboBox_Wall1, QtCore.SIGNAL(_fromUtf8("activated(QString)")), self.lineEdit_18.setText)

# so meinst du?
#mit diesem Code bekomme ich bei "lineedit_18" die gleiche Wert wie bei "comboBox_Wall1"

# aber wie verbinde ich lineEdit mit density, wenn ich den Material-Name in Combox wähle ?
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@Momo123: Du solltest endlich code-Tags </> verwenden und weniger Leerzeilen. So ist das ja nicht lesbar.
Einbuchstabige Variablennamen sind zu kurz, um aussagekräftig zu sein. Die Materialien solltest Du in einer Datenstruktur speichern, damit Du sie bei einem Change-Event auch setzen kannst. Es gibt findtext.
Antworten