私はQString
で、テキストの内容を動的にロードされqplaintextedit
を持っています。clear option t qplaintexteditを追加するには?
私たちは右qplaintexteditをクリックすると表示されるメニューにオプションを追加したいです。私はどのように私は自分のメニュー項目をデフォルトのメニュー項目に追加できるようにプログラムでそれを行うことができますか?任意のアイデアをいただければ幸いです。
私はQString
で、テキストの内容を動的にロードされqplaintextedit
を持っています。clear option t qplaintexteditを追加するには?
私たちは右qplaintexteditをクリックすると表示されるメニューにオプションを追加したいです。私はどのように私は自分のメニュー項目をデフォルトのメニュー項目に追加できるようにプログラムでそれを行うことができますか?任意のアイデアをいただければ幸いです。
あなたは機能を再実装する必要があります。ここdocにvoid QPlainTextEdit::contextMenuEvent(QContextMenuEvent *event)
詳細:http://doc.qt.io/qt-5/qplaintextedit.html#contextMenuEvent
をあなたはQPlainTextEdit
をsublcassと方法contextMenuEvent(QContextMenuEvent *event)
を再実装することができます。または、QPlainTextEdit
にイベントフィルタを追加し、QContextMenuEvent
をキャッチすることもできます。あなたの実装で
、あなたはテキスト編集のデフォルトのメニューを作成するQMenu *QPlainTextEdit::createStandardContextMenu(const QPoint &position)
を呼び出し、よりそれにカスタム項目を追加することができます。
例(サブクラス):
void MyTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
QMenu* menu = createStandardContextMenu(event->pos());
QAction* clearAction = menu->addAction("Clear");
QAction* choosedAction = menu->exec(event->globalPos());
//...
delete menu;
}
参照:
私はドラッグアンドドロップを使用してqplaintexteditボックスを作ってきました。 –
全体をプログラムで作成していれば、あなたのソリューションは実行可能になります。 –
@Sumeet - ドラッグ&ドロップでQt Designerを使用することを意味しますか?もしそうなら、あなたは 'MyTextEdit'にあなたの' QPlainTextEdit'をオンにするデザイナーのコンテキストメニューに「推進ウィジェットを...」使用することができます。もちろん、 'MyTextEdit'を実装する必要があります。私はそれを行う場合は、すべてのコンストラクタが変更されるため –