問題タブ [activeqt]
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.
c++ - QtのInternet Explorerウィンドウ?
Qtウィジェット内に Internet Explorer インスタンス/フレームを表示する方法はありますか? アプリケーションでWebページを表示する必要があります(表示するだけで、対話は必要ありません)。WebKit for Qtについて読んでいる間、それを使わない別の方法があるかどうか知りたいです。アプリケーションを可能な限り小さくする必要があり、そのような大規模なライブラリを含めることは非常に残念です (誰もそれを望んでいませんよね?)
qt - ActiveQt に含めるモジュールは?
.pro
Active Qt を使用するためにファイルに含めるモジュールは何ですか? つまりQT += ?
。また: ActiveQt を使用して商用ソフトウェアを開発できますか? (私は Qt LGPL を使用しています)。
c++ - activeqt から派生したインターフェイスをどのように使用しますか?
私は、COM のかなり単純なインターフェイスだと思うものを手に入れました。私はそれをactiveqtに実装したいと思います。ATL プロトタイプを動作させることができましたが、COM コントロールよりも qt ウィジェットとシグナルを使用したいと考えています。
ATL COM dll を Python の comtypes にロードして runhelp(ATLDll)
できます。インターフェイスに関連する拡張機能は次のとおりです。
activeqt で同じことを取得する方法がわかりません。ATL は、このコードを使用してインターフェイスを定義しています (これは、自動生成された _i.h ファイルにあると思います)。
そして、クラス定義はから継承します
私はactiveqtとATLを混ぜてみましたが、今のところ成功していません。代わりに dumpcpp を使用する必要がありますか? [編集] Qt から既存の COM オブジェクトを呼び出したい場合、dumpcpp は便利ですが、activeQt で使用するインターフェイスを抽出するのには役立ちません。[/編集] ATL と activeqt を混在させずにインターフェイスをオーバーライドする方法はありますか? QtツールとATLの両方がidlを生成しようとしていることが私の闘争の原因であるかどうか疑問に思っています...
ありがとう!
string - Qt Webkit ブリッジ ActiveQt 文字列
私の問題の一部についても参照してください: JavaScript から Qt/C++ オブジェクトへの文字列の受け渡し
WebPage
私はWebView
(を使用して)このカスタムを使用setPage
していますが、文字列が間違って渡されます。の呼び出しを無効にするとsetPage
、文字列が正しく渡されました。
QWidget
WebページにactiveXを表示するC++オブジェクト(から継承)があります(ActiveQt
およびを使用QWebView
)。ActiveX オブジェクトは正常に表示されます。カスタム タイプを登録し、Qt MetaType システムを使用して HTML オブジェクトをインスタンス化しました。
その C++ オブジェクト (ActiveX ではない) のプロパティを更新し、JavaScript から呼び出したい場合、文字列は間違った変換などを取得します。文字列を渡すと、C++ メソッドで 1 文字の文字列しか取得できません。メモリを表示すると、文字列全体が存在することがわかります (UTF-32 としてフォーマットされています)。
WebPage
プラグインをロードするカスタムを ( setPage
on を使用してQWebView
) 呼び出さないと、ActiveX が取得されません (これは予期されることです)。文字列は正しく渡されます。
これがうまくいかない理由がよくわかりません。呼び出してもsetPage
、ActiveX コンポーネントではなく、JavaScript/QtWebKit ブリッジを介して C++ オブジェクトと通信しています。
Qt 4.7.4を使用して、64ビットのWindows 7を使用しています。
いくつかのコード (C++):
そして、私の窓に
c++ - ActiveQt Com アプリの例 - COM サーバーが Windows レジストリに登録されていない (Qt4.7.4)
私は現在、Qt インストール (Qt_folder\Examples\4.7\activeqt\comapp) で提供されるサンプル プロジェクト Com App を使用しようとしています。
Windows でバージョン 4.7.4、Qt Creator 2.3.0、および MinGw コンパイラを使用しています。
したがって、サンプル プロジェクトは正常にコンパイルおよび実行されますが、COM サーバー情報がレジストリに登録されていないようです。これは、どのスクリプトからも到達できず、レジストリで UID が見つからないためです。つまり、COM サーバーが登録されていません。
3日前から解決策を見つけようとしていますが、必死になり始めています。どんな助けでも大歓迎です。
ps私の英語で申し訳ありませんが、それは私の母国語ではありません
visual-studio - ActiveQt の例 - COM アプリ - クラスの命名
プログラムに OLE サポートを追加しようとしています。Qt の例の 1 つをコンパイルすることから始めました: http://doc.qt.digia.com/stable/activeqt-comapp.html
この例では、1 つのクラスと 2 つのタイプをエクスポートします。
テストするために、Microsft Visual C++ にインポートします (クラスを追加し、Typelib から MFC クラスを追加します)。問題は、インポート後にクラスの名前が変更されることです。
したがって、CApplication::Getdocuments()を呼び出すと、 DocumentList*が返されますが、このクラスは不明です! 私は何を間違っていますか?
編集: VB プロジェクトでテストされ、正常に動作します! したがって、VC ++でtlbをインポートするときに何か問題があるに違いありません
c++ - ActiveQt: 既に開いている Word 文書をアクティブ化する
activeQt を使用して、開いている Word ドキュメントに書き込もうとしています。Word 文書をアクティブ化しようとしていますが、機能しません。
私はVBAでこれを非常に簡単に行うことができます:
Qtではありませんが、これは私が試したことです:
Documents() にはすべての開いている Word ドキュメントが含まれているはずですが、私にとっては何らかの理由で空です。
c++ - dynamicCall で VARIANT* を使用するには?
COM オブジェクトを使用しようとしていますが、パラメーター タイプ VARIANT* に問題があります。COM オブジェクトの関数は、この型のパラメーターを持っている場合を除いて、問題なく使用できます。
generateDocumentation によって生成されるドキュメントは次のとおりです。
QVariantList パラメータ = ...
object->dynamicCall("GetRanges(int,int,int&, QVariant&)", params);
COM オブジェクトで提供されるドキュメントによると、パラメーターは LONG、LONG、LONG*、および VARIANT* 型である必要があり、VARIANT* は BSTR の配列を含む VARIANT へのポインターであることが正確です。
通常、3 番目と 4 番目のパラメーター (LONG* および VARIANT* 型) を取得できるはずですが、それらの値は関数によって使用されません。
これが私のコードです( a と b は以前に初期化された int です):
そのコードでは、 QAxBase: Error calling IDispatch member GetRanges: Unknown errorというエラーだけが表示されますが、これはあまり役に立ちません。
私はいくつかのことを変更しようとしましたが、このコードを使用して(一種の)進行することができました:
エラーは解消され、最後に i の値は正しいのですが、sl はまだ空のままです。正しく動作する C# のサンプル デモがあるので、そうすべきではないことはわかっています。
誰かがそれを機能させる方法についてアイデアを持っているなら...
それ以外の場合は、少し調べてみると、インターフェースを照会して直接使用することも可能であることがわかりましたが、あまり理解できず、問題が解決するかどうかわかりません。
私は Windows7 64 ビット プラットフォームを使用しており、コンパイラとして msvc2012 を使用しています。現在 Qt 5.1.0 を使用していますが、5.0.2 でも動作しませんでした。