QT реализует помощника по серийной отладке (6): макет страницы

Исходный код проекта: https://github.com/zhangfls/QT_UartAnalysisTool

 

Предыдущий:

Доступ к файлу INI к информации о последовательном порте

 

Макет страницы раньше не задавался, и когда окно увеличивалось и уменьшалось, положение компонентов оставалось прежним, что было непрактично. Итак, нам нужно настроить макет страницы и компонента.

Несколько распространенных макетов QT:


давайте воспользуемся этими макетами для настройки положения и расположения компонентов.

1. Добавьте horizontalLayout, чтобы разделить компоненты страницы на 3 части:

Соотношение установлено 1: 6: 3, конечно, вы хотите отрегулировать соотношение по своему желанию.


2. Для содержимого в средней части используйте gridLayout, чтобы разделить его на 3 строки и 2 столбца.

Соотношение устанавливается layoutRowStretch и layoutColumStretch.

Обратите внимание, что по умолчанию поле приема данных последовательного порта в первой строке можно разместить только в одной сетке, которую можно разместить слева, а затем щелкните точку в красном кружке на рисунке ниже и перетащите ее в право увеличить его до двух сеток.


После увеличения:




3. Отрегулируйте расположение компонентов слева соответствующим образом.


 

4. После завершения этих настроек вы обнаружите, что по мере того, как все окно становится шире, элемент команды не становится шире в списке команд, как показано на рисунке ниже, что неразумно.


Следовательно, нам нужно изменить инициализацию списка команд и добавить фрагмент кода:

        ui->tableWidget->horizontalHeader()->setSectionResizeMode(1,QHeaderView::Stretch);
        ui->tableWidget->setColumnWidth(0,30);
        ui->tableWidget->setColumnWidth(1,200);
        ui->tableWidget->setColumnWidth(2,60);

Здесь задается ширина трех столбцов списка команд, а столбец содержимого команды в середине настроен на автоматическое расширение. Таким образом, список команд может быть заполнен макетом после увеличения.

 

5. Предыдущие шаги устанавливают только относительный размер и положение компонентов. Конфигурация отношений между компонентами и окном отсутствует. Компоненты все равно сжимаются в шар после увеличения окна.
Поэтому нам нужно сделать немного больше настройки: щелкните правой кнопкой мыши положение границы окна, выберите Макет, Макет сетки, и макет компонента заполнит все окно.


Таким образом, увеличьте масштаб до полного экрана и компоненты и макет также могут быть расширены


Нет никаких особых требований для настройки компонентов на фиксированный макет, поэтому вы можете настроить его по своему усмотрению, и важно научиться использовать несколько типов макета, обычно используемых в QT.

 

Следующий:

QT реализует помощника по серийной отладке (7): Создание панели настройки шрифта и передача значений между окнами

рекомендация

отblog.csdn.net/zhangfls/article/details/112389604