Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Размер виджета
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt GUI
hinatix
Доброго времени суток. Мне нужно задать размер по умолчанию виджету (QTableWidget), так чтобы он был нефиксированным, и пользователь мог менять размеры в дальнейшем. Чему надо присвоить желаемый размер, чтобы получить его при первом запуске программы, а не то как заблагорасудится компановщику?
Алексей1153
можно увидеть больше скриншотов ?
hinatix
Не совсем понимаю, зачем здесь скриншоты, но допустим. Так кусок формы выглядит при открытии:
,
а так надо:
.
Алексей1153
скриншоты позволяют быстро посмотреть, что ты хочешь сделать, только и всего ))

слева от таблицы, я так понимаю, QSplitter ? Если да, то стартовые размеры можно задать через QSplitter::setSizes . Неудобно, согласен (лично я бы на месте разрабов сделал список относительных величин), но другого способа я не нашёл
hinatix
То есть задать размер таблице не получится? Только через сплиттер?
Алексей1153
если используется компоновщик, то принудительную установку размеров и положения контрола забудь. Можно, однако, задать фиксированный размер в политике контрола, но это, я так понимаю, тебе не нужно

покажи, как форма выглядит в конструкторе форм ?
hinatix
Конструктор:
Раскрывающийся текст
    splitter = new QSplitter(Qt::Horizontal, this);
    this->setCentralWidget(splitter);
    splitterRight = new QSplitter(Qt::Vertical, splitter);
    dkParamObnaruj = new QDockWidget(this);
    dkParamObnaruj->setAllowedAreas(Qt::RightDockWidgetArea);
    QTableWidget* twParamObnaruj = new QTableWidget;
    twParamObnaruj->setRowCount(5);
    twParamObnaruj->setColumnCount(5);
    //заполнение таблицы
    twParamObnaruj->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
    twParamObnaruj->setEditTriggers(QAbstractItemView::NoEditTriggers);
    twParamObnaruj->resizeColumnsToContents();
    twParamObnaruj->verticalHeader()->hide();
    dkParamObnaruj->setWidget(twParamObnaruj);
    splitter->addWidget(splitterRight);
    splitter->insertWidget(0, leftMainWindow);
    splitterRight->addWidget(dkParamObnaruj);
Litkevich Yuriy
hinatix, читай тут
в частности политики размеров, коэффициенты растяжений, а также sizeHint виджетов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.