Qt: Как подключить класс к пользовательскому виджету Qt Designer - PullRequest
0 голосов
/ 16 октября 2011

Может быть, я думаю об этом совершенно неправильно ...

Я создал новый виджет в Qt Creator с файлом Designer (я выбрал шаблон Widget, который генерировал исходный файл и файл заголовка длямой собственный класс виджетов, а также файл конструктора).

Затем я разработал виджет с помощью конструктора.Теперь я могу создавать экземпляры этого виджета, и он будет отображаться в моем приложении.

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

Допустим,все, что у меня есть в виджете, это метка и кнопка.Как я могу изменить текст этой метки во время выполнения?Я не могу понять, как связать дизайнерские вещи с моим реальным классом, и я не могу найти документацию о том, как это сделать.Я что-то упустил?

Спасибо!

1 Ответ

3 голосов
/ 16 октября 2011

Несколько вещей:

  • В конструкторе каждому из ваших виджетов (QPushButton и QLabel в вашем случае) присвоено имя.Это имя - имя переменной, которую вы можете использовать в C ++ для ссылки на этот виджет и вызова функций для него.

  • В зависимости от того, как был реализован ваш пользовательский виджет, вы сможетессылаться на эти переменные, используя один из двух методов:

    • Если ваш класс наследует от Ui :: MyCustomwidget, то ваши переменные являются просто переменными-членами вашего класса и могут быть доступны в любое время (myLabel-> setText ())

    • Если у вас есть переменная-член (обычно называемая ui, типа Ui :: MyCustomWidget), то вы можете получить доступ к своим виджетам с помощью объекта ui (ui> myLabel-> setText ())

...