QLabel コントロールの共通のプロパティ、メソッド、シグナル
1. QLabel コントロールの共通プロパティ
2. QLabel コントロールの共通メソッド
3. QLabel コントロールの共通信号
メソッド:
set+xxx は属性を設定し、set を削除して属性を取得します
すべてのコントロールのプロパティとメソッドは共通です
QLabel コントロール
説明:QLabel
テキストまたは画像を表示するために使用されるコントロールです。多くの場合、静的な情報を表示するラベルまたは領域として使用されます。
1. QLabel コントロールの共通プロパティ
属性:
1.テキスト:
説明: ラベルによって表示されるテキストの内容。
使用法:
label->setText("Hello, World!");
2. ピックスマップ:
説明: ラベルによって表示されるイメージ。
使用法:
QPixmap pixmap("image.png"); label->setPixmap(pixmap); lab2->setPixmap(QPixmap(":/1.jpg").scaled(lab2->width(), lab2->height()));
3. アライメント:
説明: ラベル内のテキストまたは画像の配置。
使用法:
label->setAlignment(Qt::AlignCenter); Qt::AlignLeft:将内容左对齐。 Qt::AlignRight:将内容右对齐。 Qt::AlignHCenter:将内容水平居中。 Qt::AlignJustify:通过拉伸或收缩字符间距来实现两端对齐。 Qt::AlignTop:将内容顶部对齐。 Qt::AlignBottom:将内容底部对齐。 Qt::AlignVCenter:将内容垂直居中。 Qt::AlignCenter:将内容水平和垂直都居中。
4.ワードラップ:
説明: テキストを自動的に折り返すかどうかを設定します。
使用法:
label->setWordWrap(true);
5.外部リンクを開く:
説明: 外部リンクを開くかどうかを設定します。
使用法:
label->setOpenExternalLinks(true);
6. テキスト形式:
説明: プレーンテキスト、リッチテキストなどのテキストの表示形式を設定します。
使用法:
label->setTextFormat(Qt::RichText);
7. textInteractionFlags:
説明: 選択可能、コピー可能などのテキスト インタラクション フラグを設定します。
使用法:
label->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard);
8.余白:
説明: ラベルの余白を設定します。
使用法:
label->setMargin(10);
2. QLabel コントロールの一般的なメソッド
1.クリア:
説明: ラベルの内容をクリアして空にします。
使用法:
label->clear();
2. setBuddy(QWidget *buddy):
説明: キーボード ショートカットの実装に使用される、ラベルのパートナー コントロールを設定します。
使用法:
QLabel *nameLabel = new QLabel("Name:"); QLineEdit *nameLineEdit = new QLineEdit; nameLabel->setBuddy(nameLineEdit);
3. setText():
説明: テキストの内容を設定します。
使用法:button->settext("我是setText");
4. setPixmap(): 画像を設定します。
5. clear(): テキストと画像のコンテンツをクリアします。
6. setAlignment(): アラインメントを設定します。
7. setWordWrap(): 自動ワードラップを設定します。
8. setOpenExternalLinks(): ハイパーリンクを開くことを許可するかどうかを設定します。
9. setToolTip(): ホバープロンプト情報を設定します。
10. setScaledContents(); // terue または false: 画像は自由に拡大縮小できます
11. lab2->setPixmap(QPixmap(“:/1.jpg”).scaled(lab2->width(), lab2->height( ))) ; // 画像の適応スケーリング
3. QLabel コントロールの共通信号
1. linkActivated(const QString &link):
説明: ユーザーがラベル上のリンクをクリックすると発生します。
使用法: リンクをクリックしたときにアクションを実行するには、この信号を接続します。
connect(label, &QLabel::linkActivated, [](const QString &link) { qDebug() << "Link activated:" << link; });
2. linkHovered(const QString &link):
説明: ユーザーがラベル上のリンクの上にマウスを移動すると発生します。
使用法: リンクがホバーされたときにアクションを実行するには、この信号を接続します。
connect(label, &QLabel::linkHovered, [](const QString &link) { qDebug() << "Link hovered:" << link; });
3. linkPressed(const QString &link):
説明: ユーザーがラベル上のリンクをクリックすると、
linkActivated
と同様に発生します。使用法: リンクをクリックしたときにアクションを実行するには、この信号を接続します。
connect(label, &QLabel::linkPressed, [](const QString &link) { qDebug() << "Link pressed:" << link; });
例:
QLabel
以下は、コントロールを使用してテキストと画像を表示する方法を示す例です。
#include <QApplication>
#include <QLabel>
#include <QPixmap>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QLabel label;
label.setText("Hello, World!"); // 设置文本
QPixmap pixmap("image.png"); // 加载图像
label.setPixmap(pixmap); // 设置图像
label.setAlignment(Qt::AlignCenter); // 设置对齐方式
label.show();
return app.exec();
}
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
setFixedSize(640, 480);
lab1 = new QLabel("标签", this);
lab1->setStyleSheet("background-color: #00ff00");
lab1->setFixedSize(100, 50);
//setAlignment()设置文本对齐方式
lab1->setAlignment(Qt::AlignHCenter | Qt::AlignCenter);
lab1->setText("改过来的文本");
lab2 = new QLabel("大标签",this);
lab2->resize(width(),height() - lab1->height());
lab2->move(0, lab1->height());
//lab2->setGeometry(lab1->x(), lab1->y() + 50, 640, 430);
lab2->setStyleSheet("border: 1px solid red;");
#if 0
//setScaledContents()设置内容的自由缩放
lab2->setScaledContents(true);
//setPixmap()显示绘图
lab2->setPixmap(QPixmap(":/1.jpg"));
#else
lab2->setPixmap(QPixmap(":/1.jpg").scaled(lab2->width(), lab2->height()));
#endif
}