問題タブ [qscintilla]
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.
python-3.x - QScintilla カスタム構文の強調表示
次のようなコードを QSCintilla で強調表示する必要があります: \xfffe. 1 時間のグーグル検索の後、QScintilla のカスタム辞書にはまだ何も見つかりませんでした。
では、それを使って私のカスタムレックスを作成するにはどうすればよいですか? ここに(古いバージョンの)パーサーコードがすでにあります:https://github.com/OctoNezd/PokeNDSTranslator/blob/master/reader.py。でも使ったら編集できないけど、IDEは作成・編集するように設計されているけど、今はただのビューア
macos - Qscintilla make エラー:「Qt には C++11 サポートが必要です」
Mac (OS X 10.11.6) でQscintilla 2.9.3 (ここで取得) をコンパイルしようとしていますが、次のエラーで make の手順が失敗します:
/Applications/Xcode.app/Contents/Developer/usr/bin/g++ -c -pipe -O2 -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/ SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.8 -fvisibility=hidden -fvisibility-inlines-hidden -w -fPIC -DQSCINTILLA_MAKE_DLL -DSCINTILLA_QT -DSCI_LEXER -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_MACEXTRAS_LIB_ -DQT_MACEXTRAS_LIB_ -DQT_MACEXTRAS_LIB_ -DQT_MACEXTRAS_LIB -私。-I../include -I../lexlib -I../src -I/Applications/Utilities/Qt/5.7/clang_64/lib/QtPrintSupport.framework/Headers -I/Applications/Utilities/Qt/5.7/clang_64 /lib/QtWidgets.framework/Headers -I/Applications/Utilities/Qt/5.7/clang_64/lib/QtMacExtras.framework/Headers -I/Applications/Utilities/Qt/5.7/clang_64/lib/QtGui.framework/Headers -I /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers -I. -I/アプリケーション/Xcode.
qsciscintilla.cpp:23 からインクルードされた
ファイル: ./Qsci/qsciscintilla.h:29 からインクルードされたファイル: /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/QByteArray:1 からインクルードされた
ファイル:
/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbytearray.h:44 からインクルードされた
ファイル: /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework からインクルードされたファイル/Headers/qrefcount.h:43: /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qatomic.h:41
からインクルードされたファイル内: /Applications/Utilities/Qt/5.7 からインクルードさ
れたファイル内/clang_64/lib/QtCore.framework/Headers/qglobal.h:1145: /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qatomic.h:46
から含まれるファイル:
/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbasicatomic.h:61:4: エラー:
"Qt には C++11 サポートが必要です"
# エラー "Qt には C++11 サポートが必要です"
^
/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbasicatomic.h:90:13: エラー:
不明な型名 'QAtomicOps'
typedef QAtomicOps Ops;
この件に関する他の質問に続いて、私は追加しました
qscintilla.pro ファイルで、無駄に。
このスレッドは同様の問題を示しているようです。-ansi
これは、依存関係のフラグを抑制することで解決されました。これにより、c++ 11 の使用が妨げられました。ただし、上記のログにはそのようなフラグはありません。
何がその問題を引き起こす可能性があるかについての考えはありますか?
QMake バージョン 3.0 と Qt 5.7 を使用しています。
python - QScintilla ウィジェットで特定の一致を適切に置き換える方法は?
私はこの小さなmcveコードを手に入れました:
対処方法がわからない問題がいくつかあります。
- 私のスライダーウィジェットは、値を変更するたびにウィジェットの幅を変更しています。試してみ
addStrecht(1)
ましたが、ウィジェット間に空きスペースが多すぎたため、意図したとおりに機能しませんでした (つまり、レイアウト配置 -> スライダー | ストレッチ | ラベル) - QScintilla ウィジェットに数値を入力すると、FloatSlider ウィジェットが表示されますが、これは間違いなく望ましくありません。マウスの左ボタンまたはその他の組み合わせ (例: ctrl+left_mouse) でそのような数値を押したときにのみ表示されるようにしたい
- QScintilla テキスト (正規表現一致) をリアルタイムで適切に置き換える方法がわかりません。理想的には、QScintilla に一致したテキストのみを変更する必要があります。たとえば、視覚効果が非常に不気味になるため、テキスト全体を置き換えたくありません。
これらの小さな疑問に対して 3 つの異なる質問を開くのは問題ないように感じたので、それらを同じスレッドにまとめることにしました。うまくいけば、それは大丈夫です
python - PyQt4 で QTextEdit に QScintilla 構文の強調表示を適用するにはどうすればよいですか?
シンプルな PyQt テキスト エディターがあり、それに QScintilla フォーマットを適用したいと考えています。私が使用している他の機能 (カーソル位置、生のテキスト出力など) を提供し、QScintilla フォーマットを適用したいので、テキストに QTextEdit を使用する必要があります。
参考までに、QTextEdit の初期化:
python - クリック可能な関数と変数を備えた PyQt5 の QScintilla ベースのテキスト エディター
PyQt5 で、基本的な構文の強調表示、コード補完、クリック可能な関数と変数を備えた単純なテキスト エディターを作成しようとしています。これを達成するための私の最善の希望は
、PyQt5 の QScintilla ポートを使用することです。Eli Bendersky Web サイト ( http://eli.thegreenplace.net/2011/04/01/sample-using-qscintilla-with-pyqt、Victor S. が PyQt5 に適応させたもの) で
、次の QScintilla ベースの texteditor の例を見つけました。 )。この例は良い出発点だと思います:
このコードをコピーして空の.py
ファイルに貼り付け、実行してください。次の単純なテキスト エディタがディスプレイに表示されるはずです。
構文の強調表示がいかに完璧であるかに注目してください。QScintilla は、これを実現するために、バックグラウンドで解析を行いました。この texteditor のクリック可能な関数と変数
を作成することは可能ですか? すべての自尊心のある IDE にはそれがあります。関数をクリックすると、IDE が関数定義にジャンプします。変数についても同様です。私が知りたいのですが:
- QScintilla はクリック可能な関数と変数をサポートしていますか?
- そうでない場合、QScintilla texteditor でこの機能を実装する別の python モジュールをインポートすることは可能ですか?
EDIT :
λuser は次のことに注意しました:
クリック可能な関数名には、プログラミング言語のより深い知識による完全な解析が必要です [..]
これは、Scintilla/QScintilla の範囲をはるかに超えています。Scintilla はマウスがテキストのどこかをクリックしたときに反応する方法を提供しますが、「関数の定義がどこにあるか」というロジックは Scintilla にはなく、おそらく今後もありません。ただし、 ctags
のように、一部のプロジェクトはこのタスクに専念しています。この種のツールのラッパーを簡単に作成できます。
そのようなctagsのラッパーを書くことは、私の TODO リストに載っていると思います。最初のステップは、ユーザーが関数または変数をクリックしたときに反応 (Qt シグナル) を取得することです。また、関数/変数の上にマウスを置いたときに少し青みがかった色に変わり、クリック可能であることをユーザーに通知する必要があります。私はすでにこれを達成しようとしましたが、QScintilla のドキュメントが不足しているため足を引っ張っています。
QScintilla texteditor で関数または変数をクリック可能にするにはどうすればよいですか (「何かが起こる」と定義されたクリック可能)
編集:
数か月後、私は今この質問に戻ってきました。私は友人の Matic Kukovec と協力して、QScintilla に関する Web サイトをデザインしています。これは、使用方法に関する初心者向けのチュートリアルです。
このイニシアチブが不足しているドキュメントのギャップを埋めることを願っています。
c++ - Qscintilla ライブラリを Qt Problems に追加
このチュートリアルでQscintillaをQt プロジェクトに追加しようとしています。ライブラリは正常にインストールされましたが、クラスに未定義の参照が多数あります (たとえば、「QsciScintilla::QsciScintilla(QWidget*)」への未定義参照または「QsciScintilla::SetFont(QFont const&)」への未定義参照)。
これは私の .pro ファイルです:
誰かが私を助けてくれることを願っています。
編集:追加した後-lqscintilla2
、このエラーが発生します:
c++ - KeyPressEvent は Qscintilla ライブラリ (Qt) では機能しません
編集:コードは正しいコードです。詳細についてはコメントをご覧ください;)
Qt と Qscintilla ライブラリで括弧のオートコンプリートを実行しようとしていますが、理由がわかりません。私のプログラムは keyPressEvent 関数に入りません。
そして、私のヘッダーファイルがあります:
Qscintilla ライブラリなしで keyPressEvent 関数を使用すると、正常に動作しますが、ここでは動作しません。
誰かが私を助けることができれば、それは喜びです:)