Загружает форму *.ui.
Использование
object setupUi(string $path, object &$parent);
Загружает ui-файл, расположенный по адресу $path
и создаёт новый виджет.
Если $parent
является наследником от любого QWidget-класса, то $parent
будет передан в качестве родителя для созданного виджета.
Так же у родителя объявляется новый публичный параметр ui, содержащий ссылки на виджеты, расположенные на форме.
Ссылки формируются в соответствии с именами объектов, например,
кнопка QPushButton с именем pushButton1 будет доступна по адресу $this->ui->pushButton1
.
Функция возвращает ссылку на загруженный объект формы, который может быть экземпляром QWidget, QMainWindow, QDialog и др., в соответствии с конфигурацией ui-файла.
Примеры загрузки ui-файла из ресурсов:
class MyMainWindow extends QWidget {
public function __construct($parent = null) {
parent::__construct($parent);
setupUi(":/forms/myform.ui", $this);
$this->ui->pushButton->text = "Super Button";
}
}
class MyMainWindow {
public function __construct($parent = null) {
parent::__construct($parent);
$form = setupUi(":/forms/myform.ui", $this);
$form->resize(200, 200);
}
}
Если $parent
является наследником от любого QWidget-класса, то функция setupUi автоматически соединяет сигналы объектов формы
с соответствующими слотами родителя, производя поиск по шаблону on_<objectName>_<signalName>(), где:
- objectName - имя объекта;
- signalName - имя сигнала.
Сигналы соединяются со слотами только в том случае, если слот имеет Doc-блок с описанием параметров слота, например:
/** @slot on_pushButton_clicked(object) */
public function on_pushButton_clicked($button) {
echo "clicked";
}
В данном примере сигнал clicked кнопки pushButton будет соединён со слотом on_pushButton_clicked.