Hi Karsten,
I think you need to add the QComboBox to your dialog in order to make it
show
_but_ if you have a ui file why don't you create the QComboBox in
QtDesigner?
you can access it like this (ui file must have been converted into py
file with pyuic4):
comboBoxNew = self.ui.comboBoxNew
I was in a similar situation (beginner with python, Qt and QGIS) some 8
months ago, so here are some other thoughts:
be sure that you have read about QGIS' dynamic forms
http://linfiniti.com/2009/11/creating-dynamic-forms-a-new-feature-headed-for-qgis-1-4/
some Python code to use them:
http://www.osgeo.org/pipermail/qgis-developer/2010-January/008731.html
last but not least:
You can define a comboBox in the layer properties (edit widget = value
map) and populate it from a csv file. The values are saved with the
project or a qml file. It is even possible to manipulate the qml file
thus synchronising the values with the current version of the csv file
and then reapply it to the layer. I could provide some code for this if
you are interested.
regards
Bernhard
karsten vennemann schrieb:
Hi I am a beginner with python , QGIS and pyQT.
I am working on a python plug-in and would like to populate dynamically
a pyQT based QDialog form with combo boxes at runtime (the elements to
be added are input via a config txt file that is read). Thus I would
like to get hints how I can do this .
I have a a py file with the dialog form (streameditcustomformdialog.py):
from PyQt4 import QtCore, QtGui
from ui_streameditcustomform import Ui_StreamEditCustomForm
# create the dialog for zoom to point
class StreamEditCustomFormDialog(QtGui.QDialog):
def __init__(self, parent = None):
QtGui.QDialog.__init__(self)
# Set up the user interface from Designer.
self.ui = Ui_StreamEditCustomForm()
self.ui.setupUi(self)
and a routine that reads the config file and should populate the form
with new comboxes:
def inputConfig(self):
# QgisMainWindow = qgis.utils.iface.mainWindow()
filename = QFileDialog.getOpenFileName(None, 'Open File', "C:/", \
"Text Files (*.txt *.csv)");
if filename:
formconfig_input = open(filename, 'r') # input species
info id , name for batch processing
while 1:
formconfig_line = formconfig_input.readline() #
read csv text file line
if not formconfig_line: break
formconfig_splitline = formconfig_line.split(',')
if len(formconfig_splitline) < 3:
QMessageBox.information(None,"A problem occured with
your input file.", \
"The file you choose did not have the proper \n
syntax or number of comma separated fields.")
return
else:
fieldname1 = formconfig_splitline[0]
fieldtype1 = formconfig_splitline[1]
fieldlength1 = formconfig_splitline[2]
QMessageBox.information(None,"Form Info:", \
fieldname1 + '\n' + fieldtype1 + '\n' + fieldlength1)
self.dlg = StreamEditCustomFormDialog()
#show the dialog
self.dlg.comboBoxNew = QtGui.QComboBox()
self.dlg.comboBoxNew.setObjectName("comboBox")
self.dlg.comboBoxNew.setItemText(1,
QtGui.QApplication.translate("Form", "bw", None,
QtGui.QApplication.UnicodeUTF8))
self.dlg.show()
return
formconfig_input.close
However I tried it above - the combo box does not appear on the form
which is showing ok if I run the plugin, no error message ...but no
combo box ...
What am I doing wrong?
Will this take care of layout management or how could I have the layout
(e.g. size of form handled if many combo boxes are added ?
Thanks
Karsten
Karsten Vennemann
Terra GIS LTD
www.terragis.net <http://www.terragis.net>
------------------------------------------------------------------------
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer
________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Server.
http://www.nod32.com
--
Dipl.-Geogr. Bernhard Ströbl
Anwendungsbetreuer GIS
Kommunale Immobilien Jena
- Datenverarbeitung -
mailto:[email protected]
http://kij.jena.de/
----------------------------
________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Server.
http://www.nod32.com
_______________________________________________
Qgis-developer mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/qgis-developer