問題タブ [qtscript]
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.
user-interface - QtScript で完全に GUI アプリケーションを作成していますが、どう思いますか?
QT ライセンスの変更が発表されたので、QT フレームワークを調べ始めました。見た目はいいのですが、C++ を使わなければならないのは好きではありません。さまざまな言語にさまざまなバインディングがあることは知っていますが、QtScriptが最も興味深いようです。
QtScript を使用して完全な GUI アプリケーションをコーディングすることは可能ですか (もちろん、UI デザイナーの助けを借りて)、または既存のアプリケーションのスクリプト部分のみを対象としています。
c++ - Qt: Qt スクリプトを使用して UI 要素を追加する
QtScript を使用して Qt プログラムに新しい GUI 要素を追加することは可能ですか? たとえば、変数「レイアウト」が垂直レイアウトであると仮定すると、これは受け入れられますか?
javascript - QtScriptでレイジー配列アクセスを実装できますか?
レイジー配列ポピュレーションを実装するために[]をオーバーロードするQtScriptで使用するQObjectを実装することは可能ですか?
私はこのようなものを実装したいと思います:
値はC++コードで遅延計算されます。これは可能ですか?
qt - 適切な QtScript チュートリアルはありますか?
スロットやスクリプトからの c++ 値へのアクセスに関するものではない、優れた QtScript チュートリアルはありますか? 私が必要とするのは、配列値でいくつかの正規表現を使用し、出力をメインプログラムに送り返す外部ファイル内の1つの関数だけです。
シグナル/スロットを使用して実行できることは理解していますが、オーバーヘッドのように見え、もっと簡単な方法があると確信しています。
qt - QtScript:現在のスクリプトをリロードする方法は?
QScriptEngine には、スクリプトをロードして実行し、すでにロードされているスクリプトから指定された関数を実行するために使用できる evaluate() メソッドがあります。しかし、現在のスクリプトをクリアして新しいスクリプトをロードする方法は? たとえば、evaluate() を使用してファイルからスクリプトをロードし、evaluate() を使用してスクリプト関数を取得して呼び出します。しかし、現在のスクリプトをクリアして、別のファイルから新しいスクリプトをロードするにはどうすればよいですか? QScriptEngine の削除と作成は解決策のように思えますが、(QScriptEngineDebugger のため) GUI スレッドで作成するのが好きですが、すべてのスクリプト操作は別のスレッドで実行されます。QScriptEngine オブジェクトを再作成せずに現在のスクリプトをクリアする方法はありますか?
windows - QtScript:64ビットウィンドウでクラッシュする
Windowsで64ビットアーキテクチャ用にQtをコンパイルしましたが、QtScriptを除いてすべて正常に動作します。次の単純なコードは、32ビットQt for Windowsで完全に機能し、64ビットQtでコンパイルするとクラッシュします。多分それは私のコードのエラーですか?またはQtは64ビットと互換性がありませんか?または、他の何か?コメントは大歓迎です。
qt - Qtスクリプトから非QObjectベースのオブジェクトにアクセスする
Qt ScriptからQXmlQuery、QDateTimeなどの非QObjectベースのクラスにアクセスするための便利で簡単な方法はありますか?
私が見る唯一の方法は、QObjectを継承する別のクラスでQXmlQueryをラップし、Qtスクリプトからアクセスする必要のあるすべての関数をスロットとして宣言することです。
qt - QtScript: オブジェクトの配列を C++ に渡す
オブジェクトの配列を QtScript から C++ に渡したいのですが、これを実現する方法がわかりません。配列を作成するとすぐに、その中の要素は、アクセスする前に文字列に変換されます。
これは私がこれまで試してきたことです:
次のスクリプト
版画
私はQt 4.6を使用しています...
qt - QtScript(Qt 4.5.2)のシグナルに接続されている関数が起動していません
私はプロプライエタリQt(4.5.2)アプリケーションに注入し、QtScriptの独自の互換性のあるビルドを追加し、必要なすべてのシグナルにアクセスできるようになりました。ただし、(QtScriptを介して)それらに接続すると、関数が呼び出されることはありません。
私はこれがなぜであるかについていくつかの理論を考え出し、私が考えることができるすべてをテストしました、しかし私は少し壁にぶつかりました。注意してください、私は接続の例外をまったく持っていません。これが私の現在の理論です:
- 私が接続している信号はすでに他のスロットに接続されており、それが何らかの形でそれをブロックしています(しかし、私が知る限り、すべてのQt信号は余分な作業なしですべてのスロットに発火し、このように制限することはできません)
- 信号が接続を拒否しているか、接続後に切断しています(ただし、このための機能はありません)
- 私の接続は別のスレッドから発生していますが、これが原因で正しく接続されていません
これらの理論のいずれかがもっともらしいですか?そうでない場合、私は何を逃しましたか?
c++ - Visual Studio 2010 での STL operator= の動作の変更?
Visual Studio 2010 (C++) でQtScriptGenerator ( gitorious ) をコンパイルしようとしましたが、コンパイル エラーが発生しました。解決策を探していると、VS2010 の STL 実装の変更や c++0x 準拠の変更により、VS2008 以降に導入されたコンパイルの破損への言及を時折見てきました。
以下で何が起こっているのか、またはどうすれば修正できるのでしょうか? 問題のあるコードが QtScriptGenerator のものであると思われる場合は、それを修正する方が簡単だと思います..しかし、問題のあるコードは VS2010 の STL 実装にある可能性があり、回避策を作成する必要があるかもしれません。
PS。私はテンプレートと STL にかなり慣れていません。私は組み込みおよびコンソール プロジェクトのバックグラウンドを持っていますが、メモリ消費とクロスコンパイラのリスクを減らすために、最近までそのようなことはしばしば避けられていました。
編集 - おそらく Visual Studio のstd::copyの実装が変更されたようです。
ここにいくつかのコンテキストがあります..
pp-internal.h
pp-engine-bits.h
.. そして、これがpp_output_iteratorの定義です