在我将其用于研究之前,只有一个错误!
Warning: Z-order assignment: " is not a valid widget.
FILE: qvvideoreaderblockwidget.ui
没有附带的行号。我试图找到,但没有看到一个开放式的部分。
如何正确编译此库?
答案 0 :(得分:75)
在Qt Creator之外编辑ui文件。删除带有“zorder”标记的行。然后在Qt Creator中打开并再次编译。它完全适合我,警告不再出现了。
答案 1 :(得分:14)
<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(目前未修复)引起的。
在错误修复之前的解决方法是:
.ui
文件<zorder>
行。例如:<zorder>groupBox_2</zorder>