
使用QT实现一个简单的登陆对话框(纯代码实现C++)
发布日期:2021-05-08 23:27:21
浏览次数:18
分类:精选文章
本文共 1968 字,大约阅读时间需要 6 分钟。
使用QT实现一个简单的登陆对话框(纯代码实现C++)
效果展示
使用的QT控件
控件 描述 QLable 标签 QLineEdit 行文本框 QPushButton 按扭 QHBoxLayout 水平布局 QVBoxLayout 垂直布局
1. 首先创建一个QT项目
这里创建一个基于QWidget的QT项目
2. 在.h中添加代码
#ifndef WIDGET_H#define WIDGET_H#include#include #include #include class Widget : public QWidget{ Q_OBJECTpublic: Widget(QWidget *parent = 0); ~Widget();public: // 将初始化界面的功能封装成一个函数,避免写到构造函数内,使其臃肿 void init();private: // 创建两个QLabel标签,两个QLineEdit单行文本框,两个QPushButton按扭 QLabel * userNameLb; QLabel * passWordLb; QLineEdit * userNameLe; QLineEdit * passWordLe; QPushButton * logIn; QPushButton * logUp;};#endif // WIDGET_H
3. 在.cpp中添加代码
#include "widget.h"#include#include Widget::Widget(QWidget *parent) : QWidget(parent){ // 调用界面初始化函数 init();}Widget::~Widget(){}void Widget::init(){ userNameLb = new QLabel("用户名:"); passWordLb = new QLabel; passWordLb->setText("密 码:"); userNameLe = new QLineEdit; passWordLe = new QLineEdit; logIn = new QPushButton("登陆"); logUp = new QPushButton; logUp->setText("注册"); // 创建三个个水平布局 QHBoxLayout * usrLayout = new QHBoxLayout; // 将用户名标签和文本框添加到水平布局 ,添加的顺序决定布局的顺序 usrLayout->addWidget(userNameLb); usrLayout->addWidget(userNameLe); QHBoxLayout * pasLayout = new QHBoxLayout; pasLayout->addWidget(passWordLb); pasLayout->addWidget(passWordLe); QHBoxLayout * btnLayout = new QHBoxLayout; btnLayout->addWidget(logIn); btnLayout->addWidget(logUp); // 创建一个垂直布局,注意这个垂直布局需要指定父类,这里指定this,意思是将这个垂直布局设置到本窗口中 QVBoxLayout * wholeLayout = new QVBoxLayout(this); // 从上到下顺序依次将三个布局添加到这个垂直布局中,添加布局使用addLayout wholeLayout->addLayout(usrLayout); wholeLayout->addLayout(pasLayout); wholeLayout->addLayout(btnLayout);}
4. 运行效果
这时运行的效果能够达到预期,但是有一个问题,那就是用户可以随意拉动窗口大小,使得界面变得不美观
解决方法就是,可以固定窗口大小,不让用户能够拖动窗口
- 在.cpp 的构造函数中添加如下代码:
// 设置窗口固定大小this->setFixedSize(300,150);
- 这时再运行,将鼠标放置在右下角,就不显示可以拖动了!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年05月04日 01时36分21秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux高级数据存储
2023-02-05
Linux高阶知识:Linux 中的隐藏文件
2023-02-05
Linux(3):Linux命令-文件管理
2023-02-05
Linux(7):VIM的使用
2023-02-05
linux(乌班图)修改apt下载源
2023-02-05
Linux:CentOS安装Docker Compose
2023-02-05
Linux:CentOS安装Git
2023-02-05
Linux:安装gcc
2023-02-05
Linux:安装Nginx
2023-02-05
Linux:安装npm
2023-02-05
Linux:安装Redis
2023-02-05
List,Set,Map三者的区别(不同点)
2023-02-05
List<T> to DataTable
2023-02-05
ListBox 循环删除当前项
2023-02-05
listbox相互传值
2023-02-05
Listener监听器
2023-02-05
ListUtil常用操作
2023-02-05
Listview 利用Datapager进行分页
2023-02-05