Допустим, у нас есть определенный набор виджетов, который нужно повторить на каждой странице объекта QTabWidget. Этих страниц может быть очень много. Один из самых удобных и простых способов создавать такие страницы с нужным набором элементов — это создать виджет с этим набором и помещать его на каждую новую страницу.
Для создания виджета сделаем следующее: Файл->Создать файл или проект…->Qt (Класс формы Qt Designer), в разделе templates/forms выбираем Widget. Нам необходимо, чтобы наша форма была потомком QWidget.
На новой форме располагаем все необходимые элементы. Например, вот так:
В коде необходимо прописать все необходимые слоты/сигналы, чтобы все действия в нашем виджете можно было связать с основной программой.
В моем примере класс виджета называется jobWidget, объект QTabWidget — jobTabs.
На кнопку создания новой страницы вешаем слот:
[pastacode lang=»cpp» manual=»jobWidget%20*widget%20%3D%20new%20jobWidget%3B%0Aint%20index%20%3D%20ui-%3EjobTabs-%3EaddTab(%0A%09widget%2C%0A%09tr(%22New%20job%20%251%22)%0A%09.arg(ui-%3EjobTabs-%3Ecount()%2B1))%3B» message=»» highlight=»» provider=»manual»/]
Переменная index получит значение индекса новой страницы. Это может понадобится в будущем. Здесь же необходимо связать все слоты-сигналы.
Это скриншот одной небольшой программки вот отсюда: Jobs trace: Учет потраченного на проекты времени.
Qt: Добавить свой виджет на форму: 1 комментарий