Конвертировать Qt 4.7 в 4.2 - PullRequest
1 голос
/ 26 января 2011

Эй, я в группе для проекта compsci в школе.Нам нужно написать интерфейс в Qt.Член моей группы написал графический интерфейс в Qt 4.7, и он должен быть скомпилирован с Qt 4.2.Когда я пытаюсь создать проект qmake, он говорит: «uic: файл, созданный с использованием слишком старой версии Qt designer».

Я новичок в Qt, поэтому я не знаю, насколько сильно изменилосьверсии.Член моей группы не сильно помогает.Есть ли для меня безболезненный способ конвертировать файлы в нужную версию Qt?

Ответы [ 3 ]

4 голосов
/ 26 января 2011

Первое, что я попробую, это открыть * .ui файлы в старом Qt Designer и попытаться сохранить их. Если он не хочет сохранять вновь открытый файл, я бы внес некоторые незначительные изменения, например, изменив какое-либо свойство какого-либо компонента на другое значение и затем вернувшись.

Однако, может случиться так, что Qt Designer просто пожалуется на то, что он слишком стар для этого конкретного файла, как UIC. В этом случае вам придется редактировать * .ui файлы вручную. Это простые XML-файлы, поэтому их можно сделать относительно легко. Сначала откройте их и измените атрибут версии на «4.2» или что там используется Qt 4.2 на случай, если он отличается от версии Qt. Попробуй скомпилировать. UIC, вероятно, будет жаловаться на некоторые свойства, которые не поддерживаются 4.2 или определены по-другому. Вам придется либо удалить эти свойства, если они не нужны, либо указать их 4.2-совместимым способом. Чтобы понять, как это сделать, создайте простой интерфейс с нуля, используя это конкретное свойство, и сохраните его в новом файле. Откройте его и посмотрите, как это было сделано в 4.2. Затем отредактируйте свои файлы в соответствии с этим форматом.

Я делал это в прошлом (хотя не совсем с 4.7 до 4.2), и это было проще, чем кажется. Мне просто нужно было изменить способ указания нескольких свойств. Поля или что-то в этом роде, я точно не помню. Я даже смог сделать это с помощью регулярного выражения вместо замены.

1 голос
/ 29 октября 2011

Я сделал это сегодня, и похоже, что у новых дизайнерских файлов .ui эта строка вверху:

<?xml version="1.0" encoding="UTF-8"?>

Если вы удалите эту строку, следующая строка должна выглядеть примерно так:*

Тогда qmake и uic должны работать правильно.

0 голосов
/ 26 января 2011

Проблема в файлах .ui.Попробуйте открыть их в Qt designer и заставить конвертировать их.

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