QT共通コントロール - QCheckBox入力コントロール

オペレーティング システム: Tongxin UOSv20
Qt バージョン: 5.11.3

1、簡単な紹介

QCheckBox は、オン (チェックあり) またはオフ (チェックなし) にできるオプション ボタンです。チェックボックスは、他の機能に影響を与えることなく有効または無効にできるアプリケーションの機能を表すためによく使用されます。さまざまな種類の動作を実装できます。複数選択の選択モードを提供します

計画 コンテンツ
ヘッダ Qチェックボックス
qmake QT += ウィジェット
継承する Q抽象ボタン

2. 一般的なメソッドとシグナル

1. 一般的な方法

方法 説明
setText(const QString &text) 表示テキストを設定する
setChecked(ブール値) 選択された状態を設定するためのトライステート モードは有効になっていません。デフォルトは選択されておらず、true が選択されています。
isChecked() 選択するかどうかを決定する
setTristate(bool y = true) トライステート モードを有効にする場合は true
setCheckState(Qt::CheckState 状態) トライステートモードがオンになった後、選択された状態を設定します

2. Qt::CheckState 型

タイプ 価値 説明
Qt::チェックなし 0 未選択
Qt::部分的にチェック済み 1 半分選択されています
Qt::チェック済み 2 選択された

3. 一般的に使用される信号

信号 説明
stateChanged(int) 選択された状態が変化してこの信号をトリガーします

3、使い方紹介

1. オブジェクトと基本設定を作成する

QCheckBox にはデフォルトで選択状態と未選択の 2 つの選択状態があり、setChecked() を使用して選択状態を設定できます。setTristate(true) は、トライステート選択モードを開くために使用されます。トライステート モードを開いた後、次の値を渡します。

QCheckBox *checkBox1 = new QCheckBox(this);             //创建QCheckBox对象
checkBox1->move(100, 50);                               //设置位置
checkBox1->setText("语文");                              //设置显示文本

QCheckBox *checkBox2 = new QCheckBox(this);
checkBox2->move(100, 100);
checkBox2->setText("数学");
checkBox2->setChecked(true);                            //设置选中状态,默认为未选中

QCheckBox *checkBox3 = new QCheckBox(this);
checkBox3->move(100, 150);
checkBox3->setText("英语");

checkBox3->setTristate(true);                           //开启三态选择模式
checkBox3->setCheckState(Qt::PartiallyChecked);         //设置选中状态

ここに画像の説明を挿入

2. 信号を通じて選択された状態を決定します

ヘッドファイル

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
    
    
class Widget;
}

class Widget : public QWidget
{
    
    
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = nullptr);
    ~Widget();

public slots:
    void slotCheckedChanged(int state);			//声明槽函数

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

ソースファイル

#include "widget.h"
#include "ui_widget.h"

#include <QDebug>
#include <QCheckBox>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    
    
    ui->setupUi(this);

    QCheckBox *checkBox1 = new QCheckBox(this);             //创建QCheckBox对象
    checkBox1->move(100, 50);                               //设置位置
    checkBox1->setText("语文");                              //设置显示文本

    QCheckBox *checkBox2 = new QCheckBox(this);
    checkBox2->move(100, 100);
    checkBox2->setText("数学");
    checkBox2->setChecked(true);                            //设置选中状态,默认为未选中

    QCheckBox *checkBox3 = new QCheckBox(this);
    checkBox3->move(100, 150);
    checkBox3->setText("英语");

    checkBox3->setTristate(true);                           //开启三态选择模式
    checkBox3->setCheckState(Qt::PartiallyChecked);         //设置选中状态

    connect(checkBox3, SIGNAL(stateChanged(int)),
            this, SLOT(slotCheckedChanged(int)));
}

Widget::~Widget()
{
    
    
    delete ui;
}

void Widget::slotCheckedChanged(int state)
{
    
    
    if (state == Qt::Checked)
    {
    
    
        qDebug() << "选中";
    }
    else if (state == Qt::Unchecked)
    {
    
    
        qDebug() << "未选中";
    }
    else if (state == Qt::PartiallyChecked)
    {
    
    
        qDebug() << "半选中";
    }
}

おすすめ

転載: blog.csdn.net/qq_43657810/article/details/118173951