Qt学习第八天

界面布局

  • 实现登录窗口
  • 利用布局方式 给窗口进行美化
  • 选取widget 进行布局,水平布局,垂直布局,栅格布局
  • 给用户名、密码、登录、退出按钮进行布局
  • 默认窗口和控件之间有9 间隙,可以调整layoutLeftMargin
  • 利用弹簧进行布局

 

控件

按钮组

  • QPushButton 常用按钮
  • QToolButton 工具按钮 用于显示图片,如果想显示文字,修改风格:toolButtonStyle,凸起风格:autoRaise
  • radioButton 单选按钮,设置默认:ui->rBtnMan->setChecked(true);

checkbox 多选按钮,监听状态,2是选中 0是未选中 1为半选状态

//设置单选按钮 男默认选中
    ui->rBtnMan->setChecked(true);

    //选中女后 打印信息
    connect(ui->rBtnwoman,&QRadioButton::clicked,[=](){
       qDebug() << "选中了女按钮";
    });

    //多选按钮 2是选中 0是未选中 1为半选状态
    connect(ui->cBox,&QCheckBox::stateChanged,[=](int state){
        qDebug() << state;
    });

QListWidget 列表容器

  • QListWidgetItem * item 一行内容
  • ui->listWidget->addItem(item);
  • 设置居中方式 item->setTextAlignment(Qt::AlignHCenter);
  • 可以利用additems 一次性添加整个诗内容 
     //利用listWidget写诗
        QListWidgetItem * item = new QListWidgetItem("锄禾日当午");
        //将一行诗放入到listWidget控件中
        ui->listWidget->addItem(item);
        item->setTextAlignment(Qt::AlignHCenter);
    
        //QStringList  QList<QString>
        QStringList list;
        list << "锄禾日当午" << "汗滴禾下土" << "谁知盘中餐" << "粒粒皆辛苦";
        ui->listWidget->addItems(list);
    

QTreeWidget 树控件

  • 设置头 ui->treeWidget->setHeaderLabels(QStringList()<< "英雄" << "英雄简介");
  • 创建根 QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< "力量");
  • 添加根节点到树控件上 ui->treeWidget->addTopLevelItem(liItem);
  • 添加子节点 liItem->addChild(l1);
    //treeWidget树控件使用
        //设置水平头
        ui->treeWidget->setHeaderLabels(QStringList()<< "英雄" << "英雄简介");
        QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList()<< "力量");
        QTreeWidgetItem * minItem = new QTreeWidgetItem(QStringList()<< "敏捷");
        QTreeWidgetItem * zhiItem = new QTreeWidgetItem(QStringList()<< "智力");
    
        //加载顶层节点
        ui->treeWidget->addTopLevelItem(liItem);
        ui->treeWidget->addTopLevelItem(minItem);
        ui->treeWidget->addTopLevelItem(zhiItem);
    
        //追加子节点
        QStringList heroL1,heroL2,heroL3,heroL4,heroL5,heroL6;
        heroL1 << "啦啦啦啦" << "为何物I是东风古汉语";
        QTreeWidgetItem * l1 = new QTreeWidgetItem(heroL1);
        liItem->addChild(l1);
    
        heroL2 << "嘿嘿额黑" << "为何物I手动阀汉语";
        QTreeWidgetItem * l2 = new QTreeWidgetItem(heroL2);
        liItem->addChild(l2);
    
        heroL3 << "哈哈哈哈" << "为何物I史蒂夫汉语";
        QTreeWidgetItem * m1 = new QTreeWidgetItem(heroL3);
        minItem->addChild(m1);
    
        heroL4 << "嘻嘻嘻嘻" << "为何物水电费古汉语";
        QTreeWidgetItem * m2 = new QTreeWidgetItem(heroL4);
        minItem->addChild(m2);
    
        heroL5 << "则啧啧啧" << "为何物IE水电费语";
        QTreeWidgetItem * z1 = new QTreeWidgetItem(heroL5);
        zhiItem->addChild(z1);
    
        heroL6 << "呼呼呼呼" << "为何物I杀人汉语";
        QTreeWidgetItem * z2 = new QTreeWidgetItem(heroL6);
        zhiItem->addChild(z2);

QTableWidget 表格控件

  • 设置列数 ui->tableWidget->setColumnCount(3);
  • 设置水平表头ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄");
  • 设置行数 ui->tableWidget->setRowCount(5);
  • 设置正文 ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟"));
    //TableWidget控件
        //设置列数
        ui->tableWidget->setColumnCount(3);
    
        //设置水平表头
        ui->tableWidget->setHorizontalHeaderLabels(QStringList() << "姓名" << "性别" << "年龄");
        //设置行数
        ui->tableWidget->setRowCount(5);
    
        //设置正文
        //ui->tableWidget->setItem(0,0,new QTableWidgetItem("亚瑟"));
        QStringList nameList;
        nameList << "亚瑟" << "赵云" << "张飞" << "关羽" << "花木兰";
    
        QList<QString> sexList;
        sexList << "男" << "男" << "男" << "男" << "女";
    
        for (int i = 0; i < 5; ++i) {
            int col = 0;
            ui->tableWidget->setItem(i,col++,new QTableWidgetItem(nameList[i]));
            ui->tableWidget->setItem(i,col++,new QTableWidgetItem(sexList.at(i)));
            //int 转 QString
            ui->tableWidget->setItem(i,col++,new QTableWidgetItem(QString::number(i+18)));
        }

其他控件介绍

  1. stackedWidget 栈控件 ui->stackedWidget->setCurrentIndex(1);
  2. 下拉框 ui->comboBox->addItem("奔驰");
  3. QLabel 显示图片 ui->lbl_image->setPixmap(“:/Image/butterfly.png”));
  4. QLabel显示动图 gif图片 ui->lbl_movie->setMovie(movie);  movie->start();
     //下拉框
        ui->comboBox->addItem("奔驰");
        ui->comboBox->addItem("宝马");
        ui->comboBox->addItem("拖拉机");
    
        //点击按钮 选中拖拉机选项
        connect(ui->btn_select,&QPushButton::clicked,[=](){
            //ui->comboBox->setCurrentIndex(2);
            ui->comboBox->setCurrentText("拖拉机");
        });
    
        //QLabel 显示图片 
        ui->lbl_image->setPixmap(“:/Image/butterfly.png”));
    
        //QLabel显示动图 gif图片 
        ui->lbl_movie->setMovie(movie);  
        movie->start();
    

     

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值