大概可以理解为,写成链表的widget ①麻烦的可以细化属性的填入方法
QListWidgetItem *item = new QListWidgetItem("相见争如不见"); //把item放进控件 ui -> listWidget->addItem(item); //设置item在框里的位置 item->setTextAlignment(Qt::AlignHCenter);//枚举如果找不到可以查帮助文档效果如下 ②快捷的没法设置位置的填入方法
QStringList list; list << "故人西辞黄鹤楼" << "烟花三月下扬州" << "楼船夜雪瓜洲渡" << "铁马秋风大散关"; ui->listWidget->addItems(list);效果如下!
设置代码如下
//设置水平头 ui -> treeWidget -> setHeaderLabels(QStringList() << "神话体系" << "代表人物"); //添加顶层的节点 QTreeWidgetItem *firstitem = new QTreeWidgetItem(QStringList() << "希腊"); ui -> treeWidget -> addTopLevelItem(firstitem); QTreeWidgetItem *seconditem = new QTreeWidgetItem(QStringList() << "西欧"); ui -> treeWidget -> addTopLevelItem(seconditem); QTreeWidgetItem *thirditem = new QTreeWidgetItem(QStringList() << "中国"); ui -> treeWidget -> addTopLevelItem(thirditem); //追加子节点 QStringList zhous; zhous << "宙斯" << "诸神之父"; QTreeWidgetItem *zhou = new QTreeWidgetItem(zhous); firstitem -> addChild(zhou);其实,就是一层一层的往下写 效果如图
图表的写法不同于树,要提前设定好行数和列数 为了方便录入数据,我们要用一个for循环 值得注意的是,如果要录入int类型,可以用QString :: number(); 相当于c++里面的tostring() 示例代码如下
//先设置列数 ui->tableWidget->setColumnCount(3); //设置水平表头 ui -> tableWidget -> setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄"); //设置行数 ui -> tableWidget -> setRowCount(5); QStringList name; name << "亚瑟" << "鲁班" << "甄姬" << "妲己" << "咕咕"; //设置正文 // ui -> tableWidget -> setItem(0,0,new QTableWidgetItem("亚瑟")); //上面是单个设置的代码 for(int i = 0; i < 5 ; i++) { int col = 0; ui -> tableWidget -> setItem(i,col,new QTableWidgetItem(name[i])); col = col + 2; ui -> tableWidget -> setItem(i,col,new QTableWidgetItem(QString::number(i + 19))); }效果如图
①scroll area 固定大小,默认滚动的盒子 ②Tool Box 功能类似于qq好友的分类功能,基础界面如下 在属性里可以修改上下两个页码的名字 右键名称可以添加页码 ③Tab Widget 这个好像比较常见,有点像网页的形式 修改和添加与②类似 ④stacked widget 单页面切换的控件,可以把其他控件放进去 值得注意的是,如果只是普通的放进去,不做其他操作,页面是无法显示切换的 这里我们添加两个摁钮进行界面的切换,取名为stackone和stacktwo
connect(ui->stackone,&QPushButton::clicked,[=] { ui->stackedWidget->setCurrentIndex(1);//这个如果放在外面可以用于设置默认界面 }); connect(ui->stacktwo,&QPushButton::clicked,[=] { ui->stackedWidget->setCurrentIndex(0); });其中的currentindex翻译为目前索引,在stackwight属性里可以查找到对应的属性 ⑤combo box(下拉框) 可以添加下拉框的文本
ui->comboBox->addItem("喜欢"); ui->comboBox->addItem("讨厌");⑥三个文本框 Line edit 单行输入 Text edit 多行输入 Plain text edit 跟上一个很像,但它不支持加粗倾斜下划线等元素,只是单纯的文本。 ⑦lable 前面使用过,用于显示文本,其实它还可以用于显示图片
ui->label->setPixmap(QPixmap(":/xin.jpg"));把Pixmap改成movie还可以用于显示动图,不过需要添加头文件,还要写start()
