2013-07-30 7 views
28

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

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

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

+0

Downvoter - これが悪い質問である理由を説明する気がしますか?どうすれば改善できますか? –

+0

私はdownvotedしていませんが、問題は、(例えば、ドキュメントを読むなどの)最低限の研究で答えられることができます。これは早めに質問するのではなく、好ましい方法です。あなたは数分後に自分自身で質問に答えたことさえあります。 – Skalli

+6

@Skalli - あなたはSOの記事に慣れてはいけません。[あなた自身の質問に答えることはOKです。](http://blog.stackoverflow.com/2011/07/its-ok-to-ask-and-answerあなた自身の質問/)。私は実際に組み込みの「あなた自身の質問機能に答える」を使用してすぐに質問に答えました。私は私の答えで行った研究を示していました。なぜなら、ドキュメントを読んで、すばらしいGoogle検索が実際には役に立たなかったので、私は将来他の人を救うためでした。 –

答えて

47

コード

ので、同じようQLabelのテキストをマウスで選択可能することができます。

label->setTextInteractionFlags(Qt::TextSelectableByMouse); 

これはQLabel documentationで発見されました。

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

QLabelメニューの下 textInteractionFlagsため

デザイナー

検索とフラグTextSelectableByMouseを設定します。ここで

1

を参照するための別の方法、である... あなたが代わりにQLineEditサブクラスを作成することができ、見て、QLabel、コンストラクタで のように動作するために微調整:

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

私は受け入れ答えだと思いますこれより簡単で好ましい。

関連する問題