59

アプリケーションにQLabel、ユーザーにエラー メッセージを表示する があります。ユーザーが必要に応じてエラー メッセージをコピーして貼り付けられるように、ラベルのテキストを選択可能にしたいと考えています。

ただし、マウスを使用してテキストをクリックしてドラッグしても、テキストは選択されません。

QLabelマウスでテキストを選択可能にするにはどうすればよいですか?

4

2 に答える 2

95

コード

a のテキストは、次のQLabelようにマウスで選択可能にすることができます:

label->setTextInteractionFlags(Qt::TextSelectableByMouse);

これはQLabel のドキュメントにあります。

同じ機能を使用して、リンクをキーボードで選択できるようにしたり、URL リンクを強調表示したり、テキストを編集可能にしたりできます。Qt::TextInteractionFlagを参照してください。

デザイナー

textInteractionFlagsメニューの下で を検索しQLabel、フラグを設定しますTextSelectableByMouse

于 2013-07-30T21:29:09.627 に答える
5

参考までに、別の方法を次に示します...代わりに、コンストラクターで QLabel のように見えて動作するように調整された QLineEdit サブクラスを作成できます。

 setReadOnly(true);
 setFrame(false);
 QPalette palette = this->palette();
 palette.setColor(QPalette::Base, palette.color(QPalette::Background));
 setPalette(palette);

ただし、受け入れられた答えはこれよりもシンプルで好ましいと思います。

于 2014-04-24T01:18:28.287 に答える