UI не встает внутри дизайнера QT - PullRequest
0 голосов
/ 09 мая 2019

Недавно я начал изучать QT Framework для разработки приложений с графическим интерфейсом * на C ++.До сих пор все было в порядке с создателем QT, но когда я пытаюсь изменить цвет фона элемента с помощью таблицы стилей CSS, конструктор пользовательского интерфейса QT не обновляется.Более того, даже при написании кода QT не обнаруживает мои недавно добавленные элементы управления на экране.Вот GIF, чтобы показать эту проблему.

enter image description here

Также я не уверен, работает ли так QT, но после добавления элемента в форму Iя не могу сразу получить доступ к этому элементу по имени объекта в коде, пока я не создам его снова

Object name not accessible in code before building

Вот мои подробности QT

enter image description here

Простите, если я где-то ошибся или допустил какие-либо ошибки, я парень из Visual Studio и совершенно новичок в использовании QT.

Примечание: Я спрашиваю второе, потому что я видел много обучающих видео по виджету QT, где объект может быть доступен сразу в коде после его добавления.

ТакжеПервый раз, когда я использовал его, он работал.Но с тех пор дизайнер не обновляется

1 Ответ

1 голос
/ 12 мая 2019

Это было довольно легко. Мне просто пришлось изменить свойство border на любое значение, и сразу же можно увидеть изменения. Я думаю, это было из-за границы. Это вызвало проблему.

Вот подарок, чтобы показать вам, что ... enter image description here

А что касается вопроса о несоответствии файла mainwindow.ui файлу ui_mainwindow.h, решение было довольно простым: и каталог для сборки, и рабочий каталог содержат один и тот же файл с именем ui_mainwindow.h Удалите один файл в рабочем каталоге и, бинго, он работает.

Благодаря этому сообщению на форуме QT [решено] Что может привести к тому, что файл mainwindow.ui не будет совпадать с файлом ui_mainwindow.h?

Примечание. Каждый раз, когда проект создается или запускается, файлы ui _ *. H будут создаваться снова, заставляя их снова и снова удалять файлы. Решением для этого является добавление make-файла в рабочий каталог, который автоматически удаляет файлы ui _ *. H после сборки проекта (шаг после сборки). Вот шаги для этого.

Шаг 1: Создайте make-файл с именем deleteUI_header.mk и добавьте в него следующий код, как показано на рисунке ниже

makefile

Шаг 2: Сохраните файл в рабочем каталоге проекта.

enter image description here

Шаг 3: Теперь откройте проект в QT и нажмите на вкладку проекта в левой части. В настройках сборки -> шаг сборки нажмите на шаг добавления сборки -> сделать

enter image description here

Теперь переопределите jom.exe с помощью make (убедитесь, что местоположение make присутствует в переменной окружения PATH) и предоставьте следующий аргумент make

-f deleteUI_header.mk

enter image description here

Теперь, когда вы будете строить проект, сгенерированные файлы заголовков пользовательского интерфейса будут автоматически удаляться. `

...