QT基础和练习
基础应用:MyWidget.cpp
#include "mywidget.h"
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
this->resize(960,720);
/*
//qDebug
//1、类似与printf()的使用
qDebug("%s","hello world");
//2、类似于cout的使用 默认有换行 比较常用
qDebug() << "hello seikai";
//3、qt中的字符串是QString类 其中有一个成员函数arg()
QString name = "张三";
QString s = QString("%1,%2,%3").arg(name).arg(100).arg(200);
qDebug() << name;
qDebug() << s;
*/
/*
//求出窗口的大小
this->qDebug() << size();
this->qDebug() << width();
this->qDebug() << height();
this->qDebug() << this->size().width();
this->qDebug() << size().height();
*/
/*
//窗口相关设置
//设置窗口的标题
this->setWindowTitle("test");
//设置窗口logo
this->setWindowIcon(QIcon("C:\\Users\\11620\\Desktop\\kawa.jpg"));
//设置背景色
// this->setStyleSheet("background-color:purple");
// this->setStyleSheet("background-color:rgb(67,172,186)");
this->setStyleSheet("background-color:#43ACBA");
//重新设置窗口大小
this->resize(535,415);
//固定窗口大小
this->setFixedSize(535,415);
//设置纯净窗口
this->setWindowFlag(Qt::FramelessWindowHint,true);
*/
/*
//按钮
//======= 创建第一个按钮 =======
QPushButton *btn1 = new QPushButton();
//组件调用show只会让组件单独显示
//btn1->show();
//如果想要让组件依赖窗口显示,则需要给组件指定父对象(父组件) 并非继承关系
btn1->setParent(this);
//设置按钮文本
btn1->setText("测试按钮");
btn1->setStyleSheet("background-color:#FFCCAA");
//======= 创建第二个按钮 =======
QPushButton *btn2 = new QPushButton("测试按钮2",this);
//移动按钮
btn2->move(0,50);
//设置案件背景图
btn2->setIcon(QIcon("C:\\Users\\11620\\Downloads\\pictrue\\userName.jpg"));
//======= 创建第三个按钮 =======
QPushButton *btn3 =
new QPushButton
(QIcon("C:\\Users\\11620\\Downloads\\pictrue\\qq.png"),"测试按钮3",this);
btn3->move(50,300);
//设置按钮大小
btn3->resize(180,30);
//设置按钮为不可用状态
btn3->setEnabled(false);
*/
/*
// 行编辑器
//============== 创建一个行编辑器 ==============
QLineEdit *edit1 = new QLineEdit;
//设置父对象
edit1->setParent(this);
//设置显示模式
//QLineEdit:: enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit };
edit1->setEchoMode(QLineEdit::Password);
//============== 创建二个行编辑器 ==============
QLineEdit *edit2 = new QLineEdit("张三",this);
edit2->move(0,100);
//============== 创建三个行编辑器 ==============
QLineEdit *edit3 = new QLineEdit(this);
edit3->move(0,200);
//设置占位提示信息
edit3->setPlaceholderText("请输入密码:");
*/
/*
//标签类
//=============== 创建第一个标签 显示文本 ===============
QLabel *lab1 = new QLabel;
lab1->setParent(this);
lab1->move(50,50);
//设置文本
lab1->setText("这是一个标签");
//重新设置标签大小
lab1->resize(150,50);
//设置标签背景颜色
lab1->setStyleSheet("background-color:green");
//=============== 创建第一个标签 显示图片 ===============
QLabel *lab2 = new QLabel(this);
lab2->move(50,150);
lab2->resize(150,50);
lab2->setStyleSheet("background-color:pink");
//显示图片
lab2->setPixmap(QPixmap("C:\\Users\\11620\\Downloads\\pictrue\\logo.png"));
//设置图片大小自适应
lab2->setScaledContents(true);
*/
/*
//=============== 创建第一个标签 显示动图 ===============
QLabel *lab1 = new QLabel(this);
lab1->resize(960,400);
lab1->setStyleSheet("background-color:green");
//用动图类QMovie 实例化一个动图
QMovie *mv = new QMovie("C:\\Users\\11620\\Downloads\\pictrue\\zz.gif");
//图片放入标签
lab1->setMovie(mv);
//让图片动起来
mv->start();
//图片自适应大小
lab1->setScaledContents(true);
QPushButton *btn = new QPushButton("登陆",this);
btn->move(380,600);
btn->resize(180,80);
btn->setStyleSheet("background-color:#0099ff;color:white;border-radius:5px");
*/
}
MyWidget::~MyWidget()
{
}
练习:MyWidget.cpp
#include "mywidget.h"
// MyWidget 构造函数,继承自 QWidget
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
// 设置窗口的背景颜色为深灰色
this->setStyleSheet("background-color:#0e0e10");
// 设置窗口的大小为 880x550
this->resize(880,550);
// 设置窗口标题为 "steam"
this->setWindowTitle("steam");
// 设置窗口图标
this->setWindowIcon(QIcon("C:\\Users\\11620\\Downloads\\logo.png"));
// 创建顶部标签,作为背景条
QLabel *lab_tb = new QLabel(this);
// 设置标签大小
lab_tb->resize(880,100);
// 设置标签背景颜色为蓝色
lab_tb->setStyleSheet("background-color:#4476f9");
// 创建左上角的 logo 标签
QLabel *lab_logo = new QLabel(this);
// 设置 logo 标签大小
lab_logo->resize(200,100);
// 移动 logo 标签到窗口的左上角
lab_logo->move(50,0);
// 设置 logo 标签背景颜色为蓝色
lab_logo->setStyleSheet("background-color:#4476f9");
// 加载 logo 动画
QMovie *logo = new QMovie("C:\\Users\\11620\\Downloads\\leftlogo.png");
// 设置 logo 标签的动画
lab_logo->setMovie(logo);
// 开始播放动画
logo->start();
// 设置 logo 标签内容自适应大小
lab_logo->setScaledContents(true);
// 创建中间的主 logo 标签
QLabel *lab_mlogo = new QLabel(this);
// 设置主 logo 标签大小
lab_mlogo->resize(720,405);
// 移动主 logo 标签到窗口的中间
lab_mlogo->move(345,100);
// 设置主 logo 标签背景颜色为绿色
lab_mlogo->setStyleSheet("background-color:green");
// 加载主 logo 动画
QMovie *mlogo = new QMovie("C:\\Users\\11620\\Downloads\\steam.gif");
// 设置主 logo 标签的动画
lab_mlogo->setMovie(mlogo);
// 开始播放动画
mlogo->start();
// 设置主 logo 标签内容自适应大小
lab_logo->setScaledContents(true);
// 创建账户输入框
QLineEdit *edit_name = new QLineEdit(this);
// 设置输入框大小
edit_name->resize(480,50);
// 移动输入框到指定位置
edit_name->move(50,150);
// 设置输入框的占位提示信息
edit_name->setPlaceholderText("请输入账户:");
// 设置输入框的样式
edit_name->setStyleSheet("background-color:#32353c;color:#afafaf;border-radius:5px");
// 创建密码输入框
QLineEdit *edit_psd = new QLineEdit(this);
// 设置输入框大小
edit_psd->resize(480,50);
// 移动输入框到指定位置
edit_psd->move(50,230);
// 设置输入框的占位提示信息
edit_psd->setPlaceholderText("请输入密码:");
// 设置输入框的样式
edit_psd->setStyleSheet("background-color:#32353c;color:#afafaf;border-radius:5px");
// 设置输入框为密码模式,隐藏输入内容
edit_psd->setEchoMode(QLineEdit::Password);
// 创建账户输入框上方的提示文本
QLabel *lab_push_name = new QLabel("用账户名称登陆",this);
// 设置提示文本大小
lab_push_name->resize(120,20);
// 移动提示文本到指定位置
lab_push_name->move(50,130);
// 设置提示文本的样式
lab_push_name->setStyleSheet("background-color:#0e0e10;color:#1999ff");
// 创建密码输入框上方的提示文本
QLabel *lab_push_psd = new QLabel("密码",this);
// 设置提示文本大小
lab_push_psd->resize(120,20);
// 移动提示文本到指定位置
lab_push_psd->move(50,210);
// 设置提示文本的样式
lab_push_psd->setStyleSheet("background-color:#0e0e10;color:#1999ff");
// 创建登陆按钮
QPushButton *btn = new QPushButton("登陆",this);
// 移动按钮到指定位置
btn->move(120,340);
// 设置按钮大小
btn->resize(340,60);
// 设置按钮的样式
btn->setStyleSheet("background-color:#0099ff;color:white;border-radius:5px");
}
// MyWidget 析构函数
MyWidget::~MyWidget()
{
}