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 );
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 );
}
}
.....
anzeigt. Entweder ist die Lösung greifbar nah oder ich blick durch den
Wald nicht mehr durch.