QT学习(一)

mainWindow.ui中一些常用部件解释

一、按钮组

Buttons:按钮

QPush Button:常用按钮

Tool Button:工具按钮,用于显示图片和文字(通过修改风格去设置)

Radio Button:单选按钮(可以用Group Box分组)

Check Button:多选按钮

&QCheckBox::stateChanged:返回一个int类型的状态,包括2和0。2是选中,0是未选中,1是半选状态。

 二、Item widgets

List Widgets:列表容器。

可以在代码中写内容。

方式一:一行一行加,可以设置字体居中

QListWidgetItem * item1 = new QListWidgetItem("text"); //创建一个QListWidgetItem对象指针
item1->setTextAlignment(int state);    // 设置内容居中格式
ui->listWidget->addItem(item1);        // 把item1加入列表中

方式二:利用C++ STL提供的List<String>去一次性添加多条,但是不能设置文字属性。在QT中是QStringList,代码如下:

QStringList list;
list << "锄禾日当午" << "汗滴禾下土";
ui->listWidget->addItems(list);

TreeWidget:树控件

1. ui文件:

2. 设置根节点

 ui->treeWidget->setHeaderLabels(QStringList() << "英雄" << "技能" << "介绍");

3. 设置二级节点

// 先创建节点对象
QTreeWidgetItem * item1 = new QTreeWidgetItem(QStringList() << "力量");
QTreeWidgetItem * item2 = new QTreeWidgetItem(QStringList() << "敏捷");
QTreeWidgetItem * item3 = new QTreeWidgetItem(QStringList() << "智力");

// 在根节点下加载二级节点
ui->treeWidget->addTopLevelItem(item1);
ui->treeWidget->addTopLevelItem(item2);
ui->treeWidget->addTopLevelItem(item3);

4. 在二级节点下设置三级节点

// 创建三级节点
QTreeWidgetItem * l1 = new QTreeWidgetItem(QStringList() << "钢背猪" << "被刺" << "很强");
QTreeWidgetItem * l2 = new QTreeWidgetItem(QStringList() << "影魔" << "冰眼" << "很强");

// 加载三级节点
item1->addChild(l1);
item1->addChild(l2);

 三、TableWidgets

1. ui文件:

 

2. 代码:

// 1. 设置表格有几列
ui->tableWidget->setColumnCount(4);

// 2. 设置表格有几行
ui->tableWidget->setRowCount(5);

// 3. 设置表格的表头
ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "英雄" << "技能" << "等级" << "学历");

// 4. 设置数组元素
ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟")); // params:行,列,QTableWidgetItem对象

四、OtherWidget 

1. Scroll Area: 滚动区域

2. Tool Box:在属性页可以加页,也可以改文字

3. Tab Box:在属性页改文字,在控件处加页

4. Stacked Widget:相当于翻页效果。在控件处加页

如何使用?

// 1. 先设置当前页面
ui->stackedWidget->setCurrentIndex(0);

int i = 0;
// 2. 点击按钮"下一页",转到下一页
connect(ui->pushButton1, &QPushButton::clicked, [&](){
    if(i > 2) {
        i = 0;
    }
    ui->stackedWidget->setCurrentIndex(i++);
});

// 3. 点击"上一页", 转到上一页
connect(ui->stackedWidget, &QPushButton::clicked, [&](){
    if(i < 0) {
        i = 2;
    }
    ui->stackedWidget->setCurrentIndex(i--);
});

5. Combo Box:下拉框

1. ui文件:

2. 使用:

// 增加下拉框item
ui->combobox->addItem("宫保鸡丁");
ui->combobox->addItem("鱼香肉丝");

// 点击按钮,下拉框选中"鱼香肉丝"
connect(ui->btn1, &QPushButton::clicked, [=](){
    ui->combobox->setCurrentText("鱼香肉丝");
});

6. 文本框:

 

7. QLabel:标签,可以显示文字、图片和动态图。

五、自定义组合控件

1. 添加自定义的ui 、.h、.cpp等文件。点击Add New。

2. 提升之后,main.ui中新加的widget类别变成了My_ui类别。点击运行,main.ui中出现了自定义的控件。

3. 设置spinbox 和 slider的联动。因为这俩组件都是在my_ui.ui中,所以这里要在my_ui.cpp中写connect。

4. 设置两个函数:获取当前值和设置值。要在my_ui.h中声明,在my_ui.cpp中定义,在main.cpp中调用。

5. connect用lamda表达式写也可以

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值