アプリケーションにQLabel
、ユーザーにエラー メッセージを表示する があります。ユーザーが必要に応じてエラー メッセージをコピーして貼り付けられるように、ラベルのテキストを選択可能にしたいと考えています。
ただし、マウスを使用してテキストをクリックしてドラッグしても、テキストは選択されません。
QLabel
マウスでテキストを選択可能にするにはどうすればよいですか?
コード
a のテキストは、次のQLabel
ようにマウスで選択可能にすることができます:
label->setTextInteractionFlags(Qt::TextSelectableByMouse);
これはQLabel のドキュメントにあります。
同じ機能を使用して、リンクをキーボードで選択できるようにしたり、URL リンクを強調表示したり、テキストを編集可能にしたりできます。Qt::TextInteractionFlagを参照してください。
デザイナー
textInteractionFlags
メニューの下で を検索しQLabel
、フラグを設定しますTextSelectableByMouse
。
参考までに、別の方法を次に示します...代わりに、コンストラクターで QLabel のように見えて動作するように調整された QLineEdit サブクラスを作成できます。
setReadOnly(true);
setFrame(false);
QPalette palette = this->palette();
palette.setColor(QPalette::Base, palette.color(QPalette::Background));
setPalette(palette);
ただし、受け入れられた答えはこれよりもシンプルで好ましいと思います。