#include "subprocitemwidget.h" #include "ui_subprocitemwidget.h" SubProcItemWidget::SubProcItemWidget(QWidget *parent) : QWidget(parent), ui(new Ui::SubProcItemWidget) { ui->setupUi(this); ui->listWidget->setObjectName("subProcItemListWidget"); this->setFocusPolicy(Qt::NoFocus); ui->listWidget->setFocusPolicy(Qt::NoFocus); ui->label->setFocusPolicy(Qt::NoFocus); int totalHeight = 0; totalHeight += ui->label->sizeHint().height(); totalHeight += 4; ui->label->setMaximumHeight(totalHeight); } SubProcItemWidget::~SubProcItemWidget() { delete ui; } void SubProcItemWidget::setListSubProc(const QList &list) { int totalHeight = 0; for (SubProc subProc : list) {/*Подпроцедуры*/ ui->listWidget->addItem(QString("- %1 [%2]").arg(subProc.getTitle(), subProc.getDmCode())); //Делаем item невыделяемым QListWidgetItem* item = ui->listWidget->item(ui->listWidget->count() - 1); item->setFlags(item->flags() ^ Qt::ItemIsSelectable); } //Определяем минимальную высоту списка for(int row = 0; row < ui->listWidget->count(); ++row) { totalHeight += ui->listWidget->sizeHintForRow(row); // Высота каждой строки totalHeight += 4; } // Добавляем отступы фрейма (рамки) totalHeight += ui->listWidget->frameWidth() * 2; ui->listWidget->setMaximumHeight(totalHeight); }