2016-08-19 9 views
0

Я пытаюсь изменить пример терминала Qt. Я новичок в Qt, и у меня есть проблема с setCentralWidget(console); Теперь консоль растянута на все окно. Существует только основная панель инструментов, строка состояния, меню, и я хотел бы добавить некоторые кнопки и т. Д.Последовательный терминал связи Qt

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

Может кто-нибудь помочь мне с изменением этого кода?

+0

Вы пробовали чтение [Qt документации] (http://doc.qt.io/ qt-5/examples-layouts.html)? Было ли что-то, в частности, вы не совсем поняли? – Steve

+0

Да, я пытался реализовать примеры из документов, но они написаны без создателя gui, и что бы я ни делал, я получаю ошибки компиляции, и я не знаю, как это сделать. Как я писал, я новичок в qt, а также в C++, поэтому я попросил, например, как изменить его, говоря, что мне нужно достичь. – Pilot

+0

Возможно, вам захочется попробовать опубликовать ошибки компилятора, которые вы видите, и соответствующий код. Кроме того, я рекомендую прочитать [«Как спросить»] (http://stackoverflow.com/help/how-to-ask) в справочном центре, чтобы повысить ваши шансы на получение помощи. Трудно помочь с почти никакой информацией. – Steve

ответ

0

Я нашел решение для своей проблемы. Это очень просто. Во-первых, мы должны создать новый макет, например GridLayout, затем addWidget в макете и установить центральный виджет QWidget, как показано ниже:

QGridLayout *layout = new QGridLayout; 

layout->addWidget(ui->tabWidget, 0, 0, 1, 2); 
layout->addWidget(ui->info, 1, 0, 1, 2); 
layout->addWidget(console, 2, 0, 1, 2); 

QWidget *window = new QWidget(); 
window->setLayout(layout); 

setCentralWidget(window);