如何自学qt(7)——其他控件

1,ListWidget

在这里插入图片描述
大概可以理解为,写成链表的widget
①麻烦的可以细化属性的填入方法

QListWidgetItem *item = new QListWidgetItem("相见争如不见");
//把item放进控件
ui -> listWidget->addItem(item);
//设置item在框里的位置
item->setTextAlignment(Qt::AlignHCenter);//枚举如果找不到可以查帮助文档

效果如下
在这里插入图片描述
②快捷的没法设置位置的填入方法

QStringList list;
list << "故人西辞黄鹤楼" << "烟花三月下扬州" << "楼船夜雪瓜洲渡" << "铁马秋风大散关";
ui->listWidget->addItems(list);

效果如下!
在这里插入图片描述

2,TreeWidget

设置代码如下

//设置水平头
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);

其实,就是一层一层的往下写
效果如图
在这里插入图片描述

3,TableWidget

图表的写法不同于树,要提前设定好行数和列数
为了方便录入数据,我们要用一个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)));
     }

效果如图
在这里插入图片描述

4,其他控件

①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()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值