Исходный код проекта: 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.
Следующий: