2016-10-05 3 views
0

Я пытаюсь создать точную копию следующей таблицы в Qt, как создать QTableWidget с пользовательским заголовком

enter image description here

Как создать заголовок, как это? Есть ли способ сделать это в Qt?

+0

Try [QTableWidget :: setSpan (интермедиат строка, столбец INT, INT RowSpan, внутр ColumnSpan);] (HTTP://doc.qt.io/qt-5/qtableview.html#setSpan) для слияния. : -? – Skywrath

ответ

1

Вы можете настроить каждый столбец заголовка, используя setHorizontalHeaderItem или просто установить текст во всех заголовках столбцов, используя setHorizontalHeadersLabels.

Простой способ реализовать прикрепленное изображение - это настроить свой собственный QWidget. Используйте вертикальную планку и рассмотрите свой заголовок Icp (мА) как пользовательскую метку с выравниванием по центру.

Затем введите QTableWidget и установите заголовки как (3kOmega, 5.1kOmega & 11kOmega). Что-то вроде этого:

QWidget* container = new QWidget(this); 
QVBoxLayout* layout = new QVBoxLayout(this); 

// Custom label 
QLabel* header = new QLabel(this); 
header->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); 
header->setAlignment(Qt::AlignHCenter); 
header->setText("Icp (mA)"); 

// Custom QTableWidget 
QTableWidget* table = new QTableWidget(this); 
table->setColumnCount(3); 
QStringList LIST; 
LIST << "3k" << "11k" << "15k"; 
table->setHorizontalHeaderLabels(LIST); 
table->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); 
table->horizontalHeader()->setStretchLastSection(true); 

layout->addWidget(header); 
layout->addWidget(table); 
container->setLayout(layout); 
setCentralWidget(container); 

Давать вам что-то вроде этого:

enter image description here

Смежные вопросы