[gelöst] QLineEdit/QPushButton im QTreeWidget

Alles rund um die Programmierung mit Qt
Antworten
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

[gelöst] QLineEdit/QPushButton im QTreeWidget

Beitrag von ChMaster »

Servus zusammen,

habe da mal wieder ein kleines Problem. Ich benötige ein QLineEdit
und ein QPuschButton in einem QTreeWidgetItem.

Derzeit löse ich das so, aber dies funktioniert nicht.
Snipp aus meinem Hauptprogramm:

Code: Alles auswählen

pb = new PropertyBrowser();
pb->addPropertyBrowserGroup( tr( "Test" ) );

QList<ComponentItemValue*> civList;	
ComponentItemValue *civ;

QWidget *w = new QWidget();
QHBoxLayout *hbl = new QHBoxLayout();

QLineEdit *le = new QLineEdit();
QPushButton *btn = new QPushButton( "..." );

hbl->addWidget( le );
hbl->addWidget( btn );
w->setLayout( hbl );
w->setAutoFillBackground( true );

civ = new ComponentItemValue;
civ->itemName = QString( tr( "Test QWidget:" ) );
civ->widget = w;	
civList.append( civ );

pb->addPropertyBrowserComponent( civList );
propertybrowser.h/cpp

Code: Alles auswählen

..... propertybrowser.h .....

class ComponentItemValue {
	
	public:
		QString itemName;
		QWidget *widget;
};
.........

..... propertybrowser.cpp .....

void PropertyBrowser::addPropertyBrowserComponent( const QList<ComponentItemValue*> &componentItemValues ) {
	
	itemValues = componentItemValues;
	if( itemValues.size() <= 0 )
		return;

	for( int a = 0; a < itemValues.size(); a++ ) {
		item = new QTreeWidgetItem( treeWidgetPropertyBrowser );
		item->setSizeHint( 0, QSize( 110, 20 ) );		
		item->setSizeHint( 1, QSize( 110, 20 ) );

		item->setText( 0, itemValues.value( a )->itemName );
		treeWidgetPropertyBrowser->setItemWidget( item, 1, itemValues.value( a )->widget );
	}
}
.....
Was nicht funktioniert ist, dass er mir das Widget im QTreeWidget nicht
anzeigt. Entweder ist die Lösung greifbar nah oder ich blick durch den
Wald nicht mehr durch. :)
Zuletzt geändert von ChMaster am 28. Juli 2007 15:41, insgesamt 1-mal geändert.
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wäre ein QItemDelegate nicht sinnvoller?
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

Beitrag von ChMaster »

Servus upsala,

danke für deine schnelle und evtl. auch rettende Antwort. An diese
Lösung habe ich noch nicht gedacht, da mir dies ein wenig schwierig
erschien.

Nun werde ich mich mal damit befassen. Da ich damit noch nichts gemacht
habe. Werde dann mich nochmals melden, wenn ich damit Erfolg habe bzw.
keinen Erfolg. :)

Danke.
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
ChMaster
Beiträge: 252
Registriert: 23. Februar 2005 14:44
Wohnort: RP -> Alzey
Kontaktdaten:

Beitrag von ChMaster »

Servus upsala,

ein QItemDelegate ist sehr sinnvoll und hat bei mir Wunder vollbracht.


Mal so als Erklärung: (korrigiere mich, wenn ich falsch liege)

Ein QItemDelegate ist nur dafür da, dass man das setzen kann was
man benötigt, in meinem Fall währe das ein QLineEdit mit einem
QPushButton?
ChMaster
------------ Projekte------------
DBoxFE
DMS
First4 (Plugin-Develper)
Antworten