Qt - инициализация формы - PullRequest
1 голос
/ 14 апреля 2011

Когда мы называем setupUi(), мы инициализируем форму.

Что означает инициализация формы?Что произойдет, если мы не позвоним?

Спасибо.

Ответы [ 4 ]

6 голосов
/ 14 апреля 2011

Когда вызывается «setupUi ()», создаются все элементы пользовательского интерфейса, которые пользователь помещает в форму.По сути, инструмент UIC получает информацию о том, какие элементы пользовательского интерфейса вы поместили в форму в Qt Designer, и генерирует такой код для вас, поэтому вам не нужно делать это вручную:

QPushButton *button1 = new QPushButton(parent);
button1->setText(tr("Start"));
...
QTableView *tableView1 = new QTableView(parent);
...
2 голосов
/ 14 апреля 2011

Qt обладает замечательной способностью создавать все элементы графического интерфейса с помощью кода C ++.Если бы вы были программистом-мазохистом, вы бы поступили так же.Однако, поскольку мы не все мазохисты, мы используем конструктор форм Qt, и из графического интерфейса, который вы видите там, одно из поставляемых приложений Qt (uic, если я прав) создает код C ++ для всех элементов управления, которые вы на него поместили,И, конечно, этот код нужно вызывать, так что это setupUi ... Просто проверьте один из ваших файлов ui_something ...: :)

2 голосов
/ 14 апреля 2011

Вы используете Qt Creator? Затем нажмите F2, когда вы находитесь на setupUi(). Видишь весь этот код там? Это - это то, что не произойдет, если вы не позвоните. Он автоматически генерируется конструктором форм.

@ user588855, извините, если это звучит грубо, но, глядя на вашу недавнюю историю, кажется, что вы пытаетесь изучать Qt без каких-либо оснований в C ++. Я бы очень рекомендовал бы сначала пройти базовый учебник по C ++, а затем у вас будут базовые знания о классах, наследовании, макросах и т. Д., Которые позволят вам самостоятельно решить большинство из этих вопросов.

2 голосов
/ 14 апреля 2011

Посмотрите на файл ui_ [yourFormName] .h, созданный qmake. Он в основном настраивает элементы управления пользовательского интерфейса, которые вы определили с помощью конструктора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...