問題タブ [qt4dotnet]

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.

0 投票する
1 に答える
1087 参照

qt - Qt Jambi (Qt4Dotnet): スロット内のシグナル エミッターの識別

私は Qt の初心者で、シグナル/スロット メカニズムに行き詰まりました。多数のツール ボタンを含むツールバーがあり、それぞれがいくつかのウィジェットに関連付けられています。タスクは、ツール ボタンがクリックされたときに適切なウィジェットを表示することです。関連付けを処理する単一のスロットを作成したいのですが、信号をトリガーしたボタンを区別する方法がわかりません。QToolButtonのクリックおよびトグル信号は、引数のないスロットのみを受け入れ、エミッターに関する情報を保存しないようです。QtoolButtonをサブクラス化し、クリックまたはトグルされたシグナルの送信ごとにイベント送信者に関する情報を含む CLR イベントを発生させることができますが、必要なことを行うためのより簡単な方法があるはずです。手伝って頂けますか?

0 投票する
1 に答える
660 参照

qt - Mac OS X 上の Qt4Dotnet

私はQt4Dotnet プロジェクトを使用して、もともと C# で記述されたアプリケーションを Linux および Mac に移植しています。Linux への移植はあまり手間がかからず、問題なく動作します。しかし、Mac (10.4 Tiger) はもう少し頑固です。

問題は、アプリケーションを起動しようとすると、例外がスローされることです。例外は、com.trolltech.qt.QtJambi_LibraryInitializer必要なすべてのライブラリを見つけることができないことを示しています。QtJambi ライブラリ初期化子はjava.library.pathVM 環境変数を使用します。この変数には、現在の作業ディレクトリが含まれます。必要なすべてのライブラリを作業ディレクトリに配置しました。MonoDevelop IDE からアプリケーションを実行しようとすると、イニシャライザは 1 つのライブラリをロードできますが、他のライブラリは「見つかりません」:

An exception was thrown by the type initializer for com.trolltech.qt.QtJambi_LibraryInitializer ---> java.lang.RuntimeException: Loading library failed, progress so far: No 'qtjambi-deployment.xml' found in classpath, loading libraries via 'java.library.path' Loading library: 'libQtCore.4.dylib'... - using 'java.library.path' - ok, path was: /Users/chin/test/bin/Debug/libQtCore.4.dylib Loading library: 'libqtjambi.jnilib'... - using 'java.library.path'

libQtCore.4.dylibとの両方libqtjambi.jnilibが同じディレクトリにあります。コマンド プロンプトから実行しようとすると、イニシャライザでさえロードできませんlibQtCore.4.dylib

QtJambi v4.5.2 ライブラリで Qt4Dotnet v4.5.0 (現在最新) を使用しています。これが問題の原因かもしれませんが、Qt4Dotnet v4.5.2 を自分でコンパイルすることも、QtJambi v4.5.0 ライブラリを見つけることもできません。プロジェクトのページには、Mono フレームワークと互換性を持たせるために QtJambi のソース コードに何らかのパッチを適用する必要があると記載されていますが、このパッチはまだリリースされていません。このパッチを適用しないと、アプリケーションが奇妙な方法でクラッシュします (ライブラリ シーク エラー以外)。

元の QtJambi は必要なすべてのライブラリを完全にロードすることに注意する必要があるため、QtJambi を .Net ライブラリに変換するために使用される IKVM コンパイラの問題である可能性があります。

どうすればこの問題を克服できますか?

0 投票する
2 に答える
1161 参照

qt - シーンから選択されたアイテムを識別するQT

私はQTアプリケーションを作成してきましたが、ある場所で攻撃しました。QGraphicsSceneから派生した独自のカスタムシーンクラスを作成しました。ここから、車、バスなどのアイテムを画面に追加します。

上記のコードからわかるように、シーンにさまざまなアイテムを追加するためのQGraphicsPixmapItemから派生したDiagramItemクラスがあります。

ここで達成したいのは、シーン(車またはバス)からアイテムを選択するときに、車、バス、またはトラックのいずれかが選択されている車両を知りたいということです。私はこれをどうやって進めるのか分かりません。誰かが私を助けることができますか?このように選択したアイテムをシーンから取得します。

void MainWindow :: itemSelected(QGraphicsItem * item)//シーンから送信されたシグナル。{{

//「ItemSelect」が車またはバスまたはその他の車両であることを知りたい

}

0 投票する
0 に答える
1132 参照

c++ - C# と C++ 間のプロセス間通信 (QT4.8 を使用)

名前付きパイプ通信を介して c# と C++ (QT) アプリケーション間でデータを渡す際に問題に直面しています。C# クライアント アプリケーションは、C++ の NamedPipe サーバーに接続しますが、サーバー上でメッセージが正しく解析されません。例として、短い変数の値 = 2 と C++ コード解析バイト配列を unsigned int に送信していますが、値はサーバーで常にゼロになります。私が間違っていることを教えてください。

クライアントとサーバーのコード:

QT ライブラリを使用した C++ の NamedPipe サーバー コード

NamedPipe クライアント (C#)