問題タブ [qplaintextedit]

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 に答える
709 参照

c++ - QPlainTextEdit の内容をプログラムで編集する

QPlainTextEdit の内容をプログラムで編集するにはどうすればよいですか?

たとえば、「検索と置換」を実装したり、特定のテキスト行を削除したり、テキストを挿入したりすることができます。

簡単な方法は、内容を完全にリロードすることです。

ただし、これは無駄に思えQPlainTextEdit::appendHtml()ます。

別のアプローチはQTextEdit から最後の行を削除する で概説されています - それらはテキストを編集しているユーザーをシミュレートします。答えは QTextEdit ですが、QPlainTextEdit でも同様に機能すると思います。

コンテンツを編集するには、どのアプローチを使用すればよいですか? 2番目に何か利点がありますか?

編集:それは有効なアプローチですか、それとも単なるハックですか?

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

qt - PyQt:カーソルをホバリングしているものにリセットする方法

非常に小さな問題:

QPlainTextEdit に基づくテキスト編集ウィジェットを備えた小さな IDE を作成しました。マウスをその上に移動すると、カーソルは予想どおりキャレット/テキスト カーソルになります。F5 キーを押すと、ウィンドウが無効になり、小さなスクリプトが実行された後、ウィンドウが再び有効になり、テキスト領域にフォーカスが与えられます。

どういうわけか、これはカーソルをテキストカーソルからポインタに変えます。カーソルをテキスト領域の外に移動してからそこに戻すと、再びテキスト カーソルに変わります。

この更新アクションをプログラムでトリガーする方法はありますか?


更新:進行状況バーを持つことと関係があるようです:

Python 2.7.8 および PyQt4 バージョン 4.8.6 を使用して Linux (Fedora 21) でテストしました。

再現する手順:

  1. スクリプトを実行する
  2. マウス カーソルをテキスト領域に置くと、テキスト カーソルに変わります。
  3. F5 を押し、プログレス バーが消えるのを待ちます。マウスをテキスト領域の上に置いたままにすると、ポインターに変わります。

期待される結果: プログレス バーが消えると、カーソルはテキスト エリア上に移動したままで、テキスト カーソルに戻ります。

実際の結果: カーソルが移動してテキスト領域に戻るまで、カーソルはポインターのままです。

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

python - PySide QTextEdit または QPlainTextEdit の更新は高速ですか?

現在、PC の GUI がソケットごとにサーバーと通信できるようにしようとしています。

ここにGUIのコードの一部があります:

反対側では、サーバーはデータを 1 つずつ送信しますが、間隔があります。サーバーをシミュレートするテスト コードは次のとおりです。

これで、GUI がサーバー内の for ループ全体の後に受信したメッセージのみを表示するという問題を除いて、すべてが機能します。サーバーとGUIを実行したら。サーバー側はメッセージを正しい速度で画面に 1 つずつ出力しますが、GUI は応答がなく、更新されません。プログラムの最後まで、7 行すべてが GUI 側で一斉に発生します。後で PC のこの GUI を使用してサーバーの状態を検査できるように、それらを 1 つずつ表示したいと考えています。

誰でも助けてくれますか、どうもありがとう!

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

qt - QTabWidget の変更にアスタリスクを表示する

さまざまなファイルを編集するためのタブを使用して、マルチファイルのテキストエディターを作成しています。これを行うには、ユーザーがテキストを編集できる QPlainTextEdit ウィジェットを保持する QTabWidget を使用しています。ユーザーが QPlainTextEdit 内のテキストを編集する場合、アスタリスク (*) を追加してタブのタイトルを変更し、このファイル内で行われた未保存の変更があることを示します。

私の現在の解決策は次のとおりです。

QTabWidget に新しいタブを追加します。

コンテンツの変更に対応するためのスロット:

}

私の意見では、sender() の使用は良くなく、これを行うには労力/コードが多すぎるため、間違っているか、これを行うためのより良い方法があると感じました。

何か案は?

使用:

Win7 プロ

Qt 5.3.2

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

pyqt - PyQt4 QTextCursorの選択可能な文字を変更

ドットを追加するなど、QTextCursor の選択可能な文字を変更するにはどうすればよいですか? たとえば、QPlainTextEdit スタンザに「MyClass」と入力すると、

は「MyClass」を返しますが、「MyClass」と入力します。空の Qstring を返します! 問題は続きます。「MyClass.myMeth」と入力すると「myMeth」が返されますが、「MyClass.myMeth」が必要です:/ありがとう