web-dev-qa-db-ja.com

コンパイル時のQVisionウィジェットエラー

これを自分の研究に使用できるようになるまでに1つだけエラーが発生します。

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

付属している行番号はありません。探してみたのですが、自由な部分が見当たりませんでした。

このライブラリを正しくコンパイルするにはどうすればよいですか?

39
Rek

Qt Creatorの外部でuiファイルを編集します。 「zorder」タグのある行を削除します。次にQt Creatorで開き、再度コンパイルします。それは私にとっては完全に機能し、警告はもう表示されませんでした。

77
Vlad

ええ、私はこれを持っていて、それも私を怒らせました。何が起こったのかはわかりませんが、深刻ではありません。すべてのレイアウトを壊して作り直すことで修正できると思います。他のフレームワークは多くの警告に向かう傾向がありますが、私はまだQtを初めて使用しているわけではありません。私は別のエディターで、次のような行を削除しました(覚えている限りです)。

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

これは他の多くの行の中にあり、これもzオーダータグでした。このタグのある行を削除して、すべて再構築しました。問題はなくなりました。興味深いことに、次に見たときに、すべてのZオーダータグがファイルから消えていました。それはバグであるに違いありませんが、明らかに小さな影響の1つです。 Qtの穏やかな美しさが損なわれるのを嫌う人を除いて。

14
Zathras

Uiファイルqvvideoreaderblockwidget.uiには「プロモートウィジェット」が含まれていますか?その場合、(Qt4-)デザイナーの[プロモートウィジェット]ダイアログを使用して、プロモートウィジェットクラスのヘッダーが「グローバルインクルード」として宣言されていることを確認してください。

カスタムウィジェットクラスの名前が「MyWidget」で、ヘッダーの名前が「mywidget.h」で、メンバーウィジェットの名前が「myWidget」である場合、uicは次のようにuiクラスのコードを生成します。

#include <mywidget.h>

class qvvideoreaderblockwidget
{
public:
    MyWidget* myWidget;

    // ...
};
2
Mike

デザイナーでかなり大きなものを削除したときに私に起こりました。調査の結果、デザイナーが、私が削除したウィジェットに関連するzorderタグ(偶発的に他の多くのウィジェットが含まれていた)を削除できなかったことがわかりました。

提案どおりに行を削除すると、問題が解決しました。大量のzorderタグがある場合は、おそらく削除されたアイテムに関連するタグを削除するように注意する必要があります。

1
Alan Lenton

同じ問題があり、ソースを実行/コンパイルする前に出力フォルダー(デバッグまたはリリース)から.exeファイルを削除すると、問題が解決しました。

0
totymedli