QComboBox e QSpinBox in QTableWidget con opportuno allineamento
-
02-10-2019 - |
Domanda
Come creare un widget QTable che ha 2 columnes, e nella prima colonna c'è un QComboBox e nella seconda colonna v'è una QSpinBox in modo che la casella combinata ottiene tutto lo spazio del tavolo e solo un posto molto piccolo foglie per QSpinBox (per 2-3 cifre).
Soluzione
In primo luogo, utilizzare setCellWidget()
per impostare la QComboBox
e QSpinBox
come i widget da visualizzare nella cella appropriata.
In secondo luogo, l'uso horizontalHeader()
per l'accesso alla QHeaderView
per la QTableView
, quindi impostare il ResizeMode
di conseguenza.
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 );
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow