11_QT学习笔记_(常用控件、树形窗口、登录界面设计)

01 ui设计界面常用控件介绍

在这里插入图片描述

布局

  • Vertical Layout 垂直布局
  • Horizontal Layout 水平布局
  • Grid Layout 网格布局
  • Form Layout 表单布局

弹簧

  • Horizontal Spacer 水平弹簧
  • Vertical Spacer 垂直弹簧

按钮

  • Push Button 普通按钮
  • Tool Button 工具按钮
  • Radio Button 单选按钮
  • Check Box 多选按钮
  • Dialog Button Box 对话框按钮

窗口

  • List Widget 列表窗口
  • Tree Widget 树形窗口
  • Table Widget 表单窗口
02 Push Button与Tool Button

Push Button一般为普通按钮,而Tool Button更适合做图标按钮。在这里插入图片描述
分别为两种按钮添加图标
选中对象按钮后,在右下角找到属性-icon,点击下拉箭头-选择资源(来自事先添加的资源文件)
在这里插入图片描述
选中对象按钮后,在右下角找到属性-iconSize,调整图标的大小来适应按钮。
在这里插入图片描述
分别为Push Button和Tool Button添加完图标,Tool Button按钮的图标占满整个控件,比Push Button更适合做图标按钮。
在这里插入图片描述
Tool Button按钮图标显示类型
选中对象按钮后,在右下方找到QToolButton-toolButtonStyle,可以设置图标显示类型。

  • ToolButtonIconOnly
  • ToolButtonTextOnly
  • ToolButtonTextBesideIcon
  • ToolButtonTextUnderIcon
  • ToolButtonFollowStyle

在这里插入图片描述
ToolButtonTextBesideIcon效果如下:
在这里插入图片描述
ToolButtonTextUnderIcon效果如下:
在这里插入图片描述

03 Radio Button与Check Box

Radio Button为单选按钮,Check Box为多选按钮。
在这里插入图片描述

04 Command Link Button与Dialog Button Box

Command Link Button使用较少,Dialog Button Box为对话框按钮,成对使用。
在这里插入图片描述

05 List Widget

List Widget为列表窗口。
在这里插入图片描述

06 Tree Widget(ui实现)

Tree Widget为树形窗口,包含列与项目。一般先添加列,后添加项目
在这里插入图片描述
在已有项目的基础上,可以再添加子项目。
在这里插入图片描述

07 Tree Widget(代码实现)

首先在ui设计界面,拖拽添加一个空Tree Widget控件,其次通过代码创建列(标头)与项目。

树形窗口添加列或标头的两种方式:
方式一:
创建QStringList类型对象,利用append()函数尾插添加标头文本,最后利用treeWidget对象的接口函数setHeaderLabels()添加标头。
方法二:
直接调用treeWidget对象的接口函数setHeaderLabels(),并利用匿名对象作为函数参数。其中<<符号已被重载,相当于append(),并且可以实现连续添加。

为树形窗口添加列表项与子项:
添加列表项:
创建QTreeWidgetItem*类型对象,并利用匿名对象进行初始化。最后调用treeWidget对象的接口函数addTopLevelItem()添加列表项。
为列表项添加子项:
与添加列表项类似,先创建QTreeWidgetItem*类型对象,再调用QTreeWidgetItem对象的接口函数addChild()添加子项。

#include "Mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    ui->actionopen->setIcon(QIcon(":/icon_01/Imag_File/06.png"));

    //树形窗口新建标头
    //方法一:
    QStringList strLi;
    strLi.append("名称");
    strLi.append("类型");
    strLi.append("详细介绍");
    //ui->treeWidget->setHeaderLabels(strLi);

    //方法二:
    ui->treeWidget->setHeaderLabels(QStringList()<<"名称"<<"类型"<<"详细介绍");

    //添加列表项
    QTreeWidgetItem* chunyang = new QTreeWidgetItem(QStringList()<<"纯阳"<<"根骨"<<"法术攻击为主");
    QTreeWidgetItem* tiance = new QTreeWidgetItem(QStringList()<<"天策"<<"力量"<<"天策府-大唐守卫者");
    ui->treeWidget->addTopLevelItem(chunyang);
    ui->treeWidget->addTopLevelItem(tiance);

    //为列表项添加子项
    QStringList li;
    li<<"紫气"<<"根骨"<<"远程爆发";
    QTreeWidgetItem* test = new QTreeWidgetItem(li);
    chunyang->addChild(test);

}

MainWindow::~MainWindow()
{
    delete ui;
}

代码运行结果如下所示:
在这里插入图片描述

08 常用输入栏控件
  • Combo Box 下拉框输入
  • Font Combo Box 文字下拉框输入
  • Line Edit 行输入框
    在这里插入图片描述
09 登录界面布局

水平布局:
1.在ui设计界面里,拖拽新建一个空窗口(Widget)。
2.选中“登录”和“注册”两个按钮,拖拽添加到该空窗口中。
3.选中空窗口后,点击上方工具栏或则右侧的水平布局(Horizontal Layout),即可实现水平布局。
4.为了调整两个按钮间距,并保证按钮控件大小不随布局变化大小,拖拽新建一个水平弹簧控件(Horizontal Spacer),添加到两个按钮之间。
栅格布局:
1.同理,将两个label控件和两个行输入框lineEdit添加到空窗口中。
2.选中窗口后,点击上方工具栏或则右侧的栅格布局(Grid Layout),即可实现栅格布局。
实现效果如下图所示:
在这里插入图片描述
锁死窗口大小:
1.ui实现: 选中窗口对象后,在下方的sizePolicy中,将“水平策略”和“垂直策略”由原先的Preferred改为Fixed,如下图所示。
2.代码实现: 利用函数setFixedSize(长,宽),即可实现。
在这里插入图片描述
利用弹簧,调节控件相对位置:
1.弹簧的使用,只能是建立在布局之上。
2.通过弹簧可以确保控件大小不变,仅调节控件相对位置。
3.选择弹簧控件(Spacer),在sizeHint中调整宽度,改变弹簧长度。
在这里插入图片描述
密码输入设置:
1.行输入框,设置输入文本提示:在QLineEdit下方的placeholderText中,输入“请输入用户名”。
2.输入密码隐藏设置:在QLineEdit下方的echoMode中,将Normal改为Password,即可。
3.QLineEdit下方的echoMode中:

  • Normal:正常显示
  • Password: 密码输入显示为黑色圆点
  • NoEcho:输入完全隐藏
  • PasswordEchoOnEdit: 输入时正常显示,离开焦点后显示为黑点。

在这里插入图片描述
提示标签文本设置:
在QLabel下方的alignment中,水平的项设置为AlignRight,即右对齐
在这里插入图片描述
最终实现效果如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值