Frage

Wie ein QTable-Widget erstellen, die 2 columnes hat, und in der ersten Spalte gibt es eine QComboBox und in der zweiten Spalte gibt es eine QSpinBox so dass das Kombinationsfeld alle den Raum der Tabelle bekommt und nur ein sehr kleiner Ort Blätter für QSpinBox (2-3 Ziffern).

War es hilfreich?

Lösung

Verwenden Sie zuerst setCellWidget() die QComboBox zu setzen und QSpinBox wie die Widgets in der entsprechenden Zelle angezeigt werden.

Zweitens verwenden horizontalHeader() den Zugriff auf die QHeaderView für die QTableView und dann das ResizeMode entsprechend.

QTableWidget* table = new QTableWidget( this );
table->setColumnCount( 2 );
table->setRowCount( 1 );
table->setCellWidget ( 0, 0, new QComboBox( table ) );
table->setCellWidget ( 0, 1, new QSpinBox( table ) );
table->horizontalHeader()->setResizeMode( 0, QHeaderView::Stretch );
table->horizontalHeader()->setResizeMode( 1, QHeaderView::ResizeToContents );
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top