【Qt开发】容器类控件
目录
前言:
1,Group Box
2,Tab Widget
前言:
容器类控件与多元素控件类同,都是包含多个元素的控件。不同的是,多元素控件包含的元素都是 “Item” 对象。容器类控件包含的元素都是Qt中的各种控件,而在容器中的控件,它们的父类通常就不再是QWidget了,而是包含控件的容器。下面来依次介绍。
1,Group Box
QGroupBox 是一个带有标题的分组框。它可以把其他的控件放到里面作为一组。这样看起来能更好看一点。其核心属性如下:
注意:分组框只是一个用来 "美化界面" 这样的组件,并不涉及到用户交互和业务逻辑。这里不再代码演示。
2,Tab Widget
QTabWidget 是一个带有标签页的控件,每个页面可以包含其它控件。通过往里面添加一些widget,用户可以点击不同的标签来切换页面内容。其核心属性和信号如下:
QTabWidget 中的每个标签页都是一个 QWidget,点击标签页,就可以直接切换。
// 新建label的父元素是ui->tab和ui->tab_2。Qt中使⽤⽗⼦关系决定该控件"在哪⾥"
QLabel* label = new QLabel(ui->tab); // tab是第一个标签页的名字,即currentTabName
label->setText("标签⻚1");
label->resize(100, 50);
QLabel* label2 = new QLabel(ui->tab_2); // tab_2是第二个标签页的名字
label2->setText("标签⻚2");
label2->resize(100, 50);
// 创建新的标签页
void Widget::on_pushButton_clicked()
{
// 获取当前有⼏个标签⻚了
int count = ui->tabWidget->count();
// 创建新的 widget,增加标签页
QWidget* w = new QWidget();
ui->tabWidget->addTab(w, QString("Tab ") + QString::number(count + 1));
// 选中这个新的标签⻚
ui->tabWidget->setCurrentIndex(count);
}