Ошибка виджета QVision при компиляции - PullRequest
37 голосов
/ 26 июля 2011

Осталась только одна ошибка, пока я не смогу использовать ее для своего исследования!

Warning: Z-order assignment: " is not a valid widget.
FILE: qvvideoreaderblockwidget.ui

Там нет номера строки, которая пришла с ним. Я попытался найти, но не смог увидеть открытую часть.

Что мне нужно сделать, чтобы правильно скомпилировать эту библиотеку?

Ответы [ 5 ]

75 голосов
/ 15 апреля 2012

Редактирование файла пользовательского интерфейса вне Qt Creator.Удалите строки с тегами «Zorder».Затем откройте в Qt Creator и снова скомпилируйте.Тогда у меня сработало отлично, предупреждение больше не появлялось.

14 голосов
/ 09 сентября 2011

ОК, у меня было это, и это меня тоже раздражало.Я не знаю, что случилось, но это несерьезно.Я полагаю, что исправление и изменение всех макетов может исправить это.Другие фреймворки имеют тенденцию к большому количеству предупреждений, но пока я новичок в Qt, но еще ни один.Я пошел в другой редактор и удалил строку, которая гласила (насколько я помню):

<z-order>verticalSpacer</z-order>

, которая была среди множества других строк, которые также были тегами z-порядка.Я удалил строку с этим тегом и перестроил все.Проблема исчезла.Интересно, что все теги z-порядка исчезли из моего файла, когда я посмотрел его дальше.Это должно быть ошибка, но, очевидно, одно из незначительных последствий;кроме тех, кто ненавидит видеть безмятежную красоту Qt испорченной.

2 голосов
/ 29 августа 2011

Содержит ли пользовательский файл qvvideoreaderblockwidget.ui «Продвигаемые виджеты»? Если это так, используйте диалоговое окно «Продвигаемые виджеты» дизайнера (Qt4-), чтобы гарантировать, что заголовок продвигаемого класса виджетов объявлен как «глобальное включение».

В случае, если пользовательский класс виджета называется «MyWidget», а заголовок - «mywidget.h», а виджет-член должен называться «myWidget», пользовательский интерфейс будет генерировать код пользовательского класса следующим образом:

#include <mywidget.h>

class qvvideoreaderblockwidget
{
public:
    MyWidget* myWidget;

    // ...
};
1 голос
/ 12 февраля 2014

Это случилось со мной, когда я удалил довольно большой кусок материала в конструкторе.Расследование показало, что дизайнеру не удалось удалить тег zorder, относящийся к удаленному виджету (который, кстати, содержал кучу других виджетов).

Удаление строки, как было предложено, решило проблему.Если у вас есть множество тегов zorder, вам, вероятно, нужно быть осторожным, чтобы просто удалить тот, который относится к удаленному элементу.

0 голосов
/ 29 июля 2012

У меня была такая же проблема, и удаление файла .exe из выходной папки (отладка или выпуск) перед запуском / компиляцией исходного кода решило проблему.

...