QVision Widget编译时出错

时间:2011-07-26 14:24:11

标签: qt compiler-errors widget qwidget

在我将其用于研究之前,只有一个错误!

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

没有附带的行号。我试图找到,但没有看到一个开放式的部分。

如何正确编译此库?

6 个答案:

答案 0 :(得分:75)

在Qt Creator之外编辑ui文件。删除带有“zorder”标记的行。然后在Qt Creator中打开并再次编译。它完全适合我,警告不再出现了。

答案 1 :(得分:14)

好吧,我有这个,它也让我烦恼。我不知道发生了什么事,但这并不严重。我想打破并重新制作所有布局可能会解决它。其他框架倾向于许多警告,但我是QT的新手,而不是一个。我去了另一个编辑器,并删除了一条说(我记得最好)的一行:

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

这是许多其他行也是z阶标签。我删除了带有此标记的行,并重建了所有内容。问题消失了。有趣的是,当我接下来查看它时,所有的z-order标签都从我的文件中消失了。它一定是一个bug,但显然是一个小问题;除了那些讨厌看到Qt的宁静之美的人被宠坏了。

答案 2 :(得分:2)

ui文件qvvideoreaderblockwidget.ui是否包含“推荐的小部件”?如果是这样,请使用(Qt4-)设计器的“Promoted widgets”对话框,以确保将提升的widget-class的标题声明为“global include”。

如果自定义窗口小部件类名为“MyWidget”且标题名为“mywidget.h”且成员窗口小部件名为“myWidget”,则uic将生成ui-class的代码,如下所示: / p>

#include <mywidget.h>

class qvvideoreaderblockwidget
{
public:
    MyWidget* myWidget;

    // ...
};

答案 3 :(得分:1)

当我在设计师中删除了相当大的东西时,它发生在我身上。调查显示,设计人员未能删除与我删除的小部件相关的zorder标记(其中包含一些其他小部件)。

按建议删除该行可解决问题。如果您确实需要加载zorder标记,则可能需要小心删除与已删除项目相关的标记。

答案 4 :(得分:0)

我遇到了同样的问题,在运行/编译源代码之前从输出文件夹(调试版或发布版)中删除了.exe文件,解决了这个问题。

答案 5 :(得分:0)

此问题是由于Qt Creator的撤消/删除机制中的bug(目前未修复)引起的。

在错误修复之前的解决方法是:

  1. 在Qt Designer中关闭.ui文件
  2. 在外部编辑器中打开.ui文件
  3. 删除适用于有问题的元素的<zorder>行。例如:

    <zorder>groupBox_2</zorder>
  4. 保存文件
  5. 在Qt Designer中重新打开文件
  6. 在Qt中重新编译