Qt

Qt: Добавить свой виджет на форму

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

Для создания виджета сделаем следующее: Файл->Создать файл или проект…->Qt (Класс формы Qt Designer), в разделе templates/forms выбираем Widget. Нам необходимо, чтобы наша форма была потомком QWidget.

На новой форме располагаем все необходимые элементы. Например, вот так:

Пример виджета

В коде необходимо прописать все необходимые слоты/сигналы, чтобы все действия в нашем виджете можно было связать с основной программой.

В моем примере класс виджета называется jobWidget, объект QTabWidget — jobTabs.

На кнопку создания новой страницы вешаем слот:

jobWidget *widget = new jobWidget;
int index = ui->jobTabs->addTab(
	widget,
	tr("New job %1")
	.arg(ui->jobTabs->count()+1));

Переменная index получит значение индекса новой страницы. Это может понадобится в будущем. Здесь же необходимо связать все слоты-сигналы.

Итоговый вид - виджет на форме

Это скриншот одной небольшой программки вот отсюда: Jobs trace: Учет потраченного на проекты времени.

Qt: Добавить свой виджет на форму: 1 комментарий

Оставьте своё мнение...

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.