問題タブ [qt5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - QtQuick2.0で透明なウィンドウを作成する方法
Qt Quick 1.0で透明なウィンドウを作成する方法はすでに知っていますが、最近Qt5.0とQtQuick 2.0を使い始めて、その方法がわかりませんでした。
setAttribute setWindowFlags setStyleSheet
上記の関数は、QtQuick2ApplicationViewer(QQuickView)から削除されています。それで、Qt Quick 2で透明なウィンドウを作成できるかどうか疑問に思います(OpenGLに基づいているためですか?)。
qt - このQt5.0アプリケーションをリンクすると、「vtableへの未定義の参照...」エラーが発生するのはなぜですか?
CMake2.8.9を使用する比較的単純なQt5.0プロジェクトがあります。
CMakeLists.txt:
MainWindow.h:
MainWindow.cpp:
main.cpp:
プロジェクトには、.ui
Qt Creator 2.6.1(MainWindow.ui)で作成されたファイルも含まれています。
Linuxでファイルをビルドしようとするとg++
、次のエラーが発生します。
この種のエラーの原因は何でしょうか?私は最近CMakeに切り替えましqmake
たが、簡単な例をコンパイルするのにこれほど多くの問題が発生したことを覚えていません。私は何が間違っているのですか?
編集:これがすべてをリンクするために使用されているコマンドです:
c++ - Qt5.0でQAbstractListModel要素のプロパティをQMLに公開します
Christophe Dumezのブログの記事を大まかにフォローして、データをQML(QtQuick2)インターフェイス(QtQuick2ApplicationViewer)に公開するカスタムQAbstractListModelクラスを取得しました。ただし、私はQt 5.0.0(およびMSVC2012)を使用しているため、彼の記事には適用されない部分がいくつかあります。たとえば、Qt 5で減価償却されsetRoleNames()
たため、ListModelコンストラクターはを呼び出す必要がなくなりました。setRoleNames()
Qt 5で純粋仮想関数に変更されたため、 QAbstractListModelから継承するクラスは、を定義するだけでよいと理解しています。したがって、彼の例では、コンストラクターでroleNames()
コメントアウトするだけで、すべてが機能するはずです。setRoleNames(m_prototype->roleNames());
右?
ただし、代わりに、QMLを介してアクセスすると、定義されたすべてのロールが未定義になります。私はこれでC++の名前をチェックすることができます:
この場合、Elephantオブジェクトのロール名は期待どおりに出力されます。
私の仮定は正しいですか、それともQAbstractListModelオブジェクトを取得してリスト要素のプロパティをQML2と共有するために何か他のことをする必要がありますか?これはばかげた質問のように思えますが、Qt5のドキュメントは現在非常に壊れているため、理解できません。
ありがとう!
qt - Qt5 と Qt 4.8 のモデルと役割
今日は QtQuick2 で少し遊んでみました。そこで、非常にシンプルな Qt Quick1 アプリを Quick2 に移植し始めました。このアプリは一部のモデルを使用しています。また、Qt5 ではモデルが期待どおりに機能しません。ロールを使用してデータにアクセスできません。
これは私のQMLコードです:
roleName
Qt4.8 では構文 (この QML では my roleName= )を使用してデータを取得できましhomm
たが、Qt5 では取得できません。コンソールに次のように書かれています。
これはQuick 1.1の場合です
ご覧のとおり、ロールを使用したデータへのアクセスは期待どおりに機能します。Qt5およびQt 4.8用のテスト アプリを作成しまし た。あなたが問題の核心を見つけるのを手伝ってくれることを願っています。
PS Qt5 バージョンにいくつかの変更を加えました。Qt5 メソッドsetRoleNames()
では廃止され、オーバーライドするroleNames()
ことをお勧めします。私はこのオーバーライドを行いました。
PPS 私のコード例は GNU/Linux x64 でコンパイルできるはずです
c++ - mingw で Qt 5.0 をビルドする
Qt 5.0 を mingw64 または Visual Studio 2012 でビルドする方法はありますか?それとも次のリリースを待つ必要がありますか? 次のリンクで、 mingw64を使用して qt 5.0 をビルドする手順を試しました。 mingw64 (または Visual C++ 2012)?
qt - Qt WebView に埋め込まれた html を表示する方法
Qt リソースとして埋め込まれた html ファイルを表示する Qt WebView を取得しようとしていますが、動作させることができないようです。新しい Qt Quick アプリケーションを作成し、単純な qml ファイルを追加しました。
次に、(Designer を使用して) 次のようなリソース ファイルを作成しました。
簡単な test.html ファイルを作成しました (.qrc ファイルと同じディレクトリに):
結果は、空白の白いウィンドウです。http://www.stackoverflow.com
qml ファイルで通常の URL ( ) を URL として使用すると、ページが表示されます。埋め込み画像 ( qrc:/qt-project.org/mac/cursors/images/pluscursor.png
) の名前を使用すると、その画像が表示されます。
html ファイルが実際に追加されているように見えますが (埋め込みリソースを列挙すると、少なくともリストされます)、Qt リソース システムの理解が限られているため、基本的なことを誤解している可能性があります。
誰が私が間違っているのか教えてもらえますか?
更新: C++ からも URL をロードするように Web ビューに指示しようとしても、動作が同じであることを確認しました。また、リソースが実際に埋め込まれていることも確認しました。QResource を使用してリソースを開いて読み取ることができます。また、これは Qt5 に固有のものではないようです: http://qt-project.org/forums/viewthread/18181 (Qt 4.8 で同様の問題を抱えている人)。
c++ - Qt5 を使用して Windows で HWND を取得 (WId から)
Qt4 アプリケーションを Qt5 に変換しようとしています。私が理解できなかった唯一のことは、ウィジェットのHWNDを取得する方法です。プログラムはEcWin7を使用して Windows 7 以降のタスクバー アイコンに進行状況を表示しますが、HWNDが必要です。Q_WS_WINをQ_OS_WINに変更した後、lib 自体は正常にコンパイルされるようです) Windows 上の Qt4 では、 WIdはHWNDの単なる typedef であったため、これは問題ありませんでした。Qt5 では、これはもう当てはまりません。手がかりとなるメーリング リストの投稿を見つけましたが、 QPlatformNativeInterfaceは Qt5 のパブリック API の一部ではなくなったようです。
プログラムはEcWin7.init(this->winId());を呼び出します。このIDをHWND IDに変換する方法、またはこれを取得する他の方法が必要です。
c++ - Qtqrcリソースファイル-アイコンを読み込めません
Qt5デスクトッププロジェクトがあり、Qt Creatorエディターで「resource.qrc」ファイルを追加しました。これにより、プロジェクトの.proファイルに次の行が作成されました。
空白のプレフィックスとpngファイル(14x14)を入れて、次のように使用しようとしました。
問題は、アイコンが表示されないことです。
次の作品:
したがって、問題はリソースの埋め込みプロセスにあるはずです。生成された「exe」にはリソースセクションが含まれていないことに気付きました...静的にリンクされた外部ライブラリがないため、 Q_INIT_RESOURCE(resource)マクロ(未定義の外部を提供します)
更新:ここに私のqrcファイルを投稿しています:
とてもシンプルで、実行時にアイコンが表示されない理由がわかりません
qt - QGraphicsProxyWidgetはQGraphicsSceneのコンテキストメニューをクリップしました
次のコードは、GraphicsViewFrameworkのドキュメントに基づいています。QLineEditをQGraphicsSceneに埋め込み、プログラムを実行します。シーンの行編集を右クリックすると、クリップされたコンテキストメニューが表示されます。QGraphicsProxyWidgetのコンテキストメニューは、子QGraphicsProxyWidgetとしてシーンによって描画されるため、ウィンドウが小さすぎるとクリップされます。すべての埋め込みウィジェットに、QGraphicsSceneに埋め込まれていないときと同じように、コンテキストメニューをトップレベルウィンドウとして表示したいと思います。BypassGraphicsProxyWidgetフラグを2つの方法で試しましたが、希望どおりに機能しません。LinuxおよびWindowsのQt4.8/5.0でテスト済み。すべてのプラットフォームで同じ問題。
埋め込みウィジェットに、ネイティブな外観の通常のトップレベルのコンテキストメニューを表示させるにはどうすればよいですか?QGraphicsViewのcontextMenuEventをオーバーロードすると、ネイティブのトップレベルのコンテキストメニューが提供されます-ある種の委任を実行して、QGraphicsViewにシーンに埋め込まれたウィジェットのコンテキストメニューを表示させることはできますか?
c++ - QApplication::sendEvent() を QListView に渡すとアプリがクラッシュする
QApplication::sendEvent() を介して QListView にイベントを送信すると、アプリがクラッシュします。
原因知ってる人いますか?