Qt - QLabel コントロールの共通プロパティ、メソッド、シグナル

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
}

おすすめ

転載: blog.csdn.net/qq_57737603/article/details/132463551