05-QT常用控件介绍

ui中的控件要使用ui来指向:ui->xxx控件名称。

Buttons

Push Button:普通按钮
Tool Button:可以隐藏文字只显示图片
Radio Button:单选框
Check Box:复选框。可以有三种状态,对勾选择为2、方块为1(tristate)、不选为0。

    connect(ui->checkBox, &QCheckBox::stateChanged, [=](int status){
        if (0 == status) {
            QMessageBox::information(this, "information0", QString(status));
        } else if (1 == status) {
            QMessageBox::information(this, "information1", QString(status));
        } else {
            QMessageBox::information(this, "information2", QString(status));
        }
    });

Containers

Group Box:可以将单选框/复选框分组,在本控件内的单选框/复选框为一组。
Widget:

Display Widgets

Label:可以显示文字、图片、动图。

    ui->label->setPixmap(QPixmap(":/xxx/xxx.png")); //添加图盘对象
    ui->label->setScaledContents(true); //设置填充
    
    QMovie *mv = new QMovie(":/xxx/xxx.png");
    ui->label->setMovie(mv); //添加动图
    ui->label->setScaledContents(true);
    mv->start(); //开始动图

Item Views

List View
Tree View
Table View
Column View

Item Widgets:继承自Item Views,功能较多,建议使用

List Widget

    QStringList names;
    names << "55555" << "44444" << "33333" << "22222" << "11111";
    ui->listWidget->addItems(names);
    connect(ui->listWidget, &QListWidget::currentRowChanged, [=](int currentRow){
        qDebug() << QString("选择的是第%1行").arg(currentRow);
    });

05-QT常用控件介绍_第1张图片

Tree Widget

    //设置头标签
    ui->treeWidget->setHeaderLabels(QStringList() << "人物" << "人物简介");
    //创建项
    QTreeWidgetItem *item1 = new QTreeWidgetItem(QStringList() << "A公司");
    QTreeWidgetItem *item2 = new QTreeWidgetItem(QStringList() << "B公司");
    QTreeWidgetItem *item3 = new QTreeWidgetItem(QStringList() << "C公司");
    //添加top项
    ui->treeWidget->addTopLevelItem(item1);
    ui->treeWidget->addTopLevelItem(item2);
    ui->treeWidget->addTopLevelItem(item3);
    //创建项
    QTreeWidgetItem *item1_1 = new QTreeWidgetItem(QStringList() << "张三" << "你好");
    QTreeWidgetItem *item1_2 = new QTreeWidgetItem(QStringList() << "李四" << "你好");
    QTreeWidgetItem *item2_1 = new QTreeWidgetItem(QStringList() << "张三" << "你好");
    QTreeWidgetItem *item2_2 = new QTreeWidgetItem(QStringList() << "李四" << "你好");
    QTreeWidgetItem *item3_1 = new QTreeWidgetItem(QStringList() << "张三" << "你好");
    QTreeWidgetItem *item3_2 = new QTreeWidgetItem(QStringList() << "李四" << "你好");

    //添加子项
    item1->addChild(item1_1);
    item1->addChild(item1_2);
    item2->addChild(item2_1);
    item2->addChild(item2_2);
    item3->addChild(item3_1);
    item3->addChild(item3_2);

05-QT常用控件介绍_第2张图片
Table Widget

//设置行列
    ui->tableWidget->setRowCount(5);
    ui->tableWidget->setColumnCount(3);
    //设置水平标签头
    ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄");
    //设置表格项
    QStringList names;
    names << "A" << "B" << "C" << "D" << "E";
    QStringList sex;
    sex << "男" << "女" << "男" << "女" << "男";
    for (int i = 0; i < 5; i++) {
        ui->tableWidget->setItem(i, 0, new QTableWidgetItem(names[i]));
        ui->tableWidget->setItem(i, 1, new QTableWidgetItem(sex[i]));
        ui->tableWidget->setItem(i, 2, new QTableWidgetItem(QString::number(20 + i)));
    }

05-QT常用控件介绍_第3张图片

 

你可能感兴趣的:(QT)