Здравствуйте
Необходимо сделать таблицу в QDialog. Делаю следующим образом через QTableWidget, но появляются слайдеры. Этот код вызывается при нажатии кнопки в ui QMainWindow. Скрин получаемого окна прикрепляю.
Можете подсказать, как это можно исправить?
//Window
QDialog dialogDeviceInfo(this);
dialogDeviceInfo.setWindowFlags(dialogDeviceInfo.windowFlags() &~ Qt::WindowContextHelpButtonHint); //delete "?" from window title
//Table
QTableWidget *tableWidget = new QTableWidget(10,2,this);
tableWidget->verticalHeader()->setVisible(false);
tableWidget->horizontalHeader()->setVisible(false);
//hLayout
QHBoxLayout *hTableLayout = new QHBoxLayout;
hTableLayout->addWidget(tableWidget);
//vLayout
QVBoxLayout *vLayout = new QVBoxLayout;
vLayout->addLayout(hTableLayout);
//Fill table
for(int i = 0; i < 10; ++i){
tableWidget->setItem(i,1,new QTableWidgetItem(QString::number(i)+QString::number(1)));
tableWidget->setItem(i,2,new QTableWidgetItem(QString::number(i)+QString::number(1)));
}
tableWidget->resizeColumnsToContents();
//Calculation height of table
int sumHeightRowsTable = 0;
for(int i = 0; i < tableWidget->rowCount(); i++)
sumHeightRowsTable += tableWidget->rowHeight(i);
int heightWindow = sumHeightRowsTable + vLayout->contentsMargins().top() +
vLayout->contentsMargins().bottom();
//Calculation width of table
int sumWidthColumnsTable = 0;
for(int i = 0; i < tableWidget->columnCount(); i++)
sumWidthColumnsTable += tableWidget->columnWidth(i);
tableWidget->setMaximumHeight(sumHeightRowsTable + 2*tableWidget->lineWidth());
tableWidget->setMaximumWidth(sumWidthColumnsTable);
tableWidget->setEditTriggers(QTableWidget::NoEditTriggers);
dialogDeviceInfo.setMinimumSize(sumWidthColumnsTable + 70,heightWindow + 70);
dialogDeviceInfo.setMaximumSize(static_cast<int>(sumWidthColumnsTable*1.2),static_cast<int>(heightWindow*1.2));
dialogDeviceInfo.setLayout(vLayout);
dialogDeviceInfo.exec();