思维导图
练习题
1>运用已学组件,实现一个登录界面
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
//设置窗口属性
this->setWindowTitle("QQ快聊");
this->setWindowIcon(QIcon("C:\\Users\\12691\\OneDrive\\桌面\\pictrue\\qq.png"));
this->setWindowFlag(Qt::FramelessWindowHint);//窗口标签栏是否隐藏
this->resize(540,410);
this->setStyleSheet("background-color:white");
//设置标签图片
QLabel *lab1 = new QLabel(this);
lab1->resize(540,180);
lab1->setStyleSheet("background-color:blue");
//创建动图容器
QMovie *movie1 = new QMovie("C:\\Users\\12691\\OneDrive\\桌面\\pictrue\\qq2.gif");
movie1->setParent(this);
//标签绑定动图
lab1->setMovie(movie1);
movie1->start();
lab1->setScaledContents(true);//固定标签大小
//账号头像标签图片
QLabel *hlab = new QLabel(this);
hlab->resize(80,80);
hlab->move(240,110);
hlab->setStyleSheet("border-radius:40px;background-color:rgb(123,55,64);");
hlab->setPixmap(QPixmap("E:\\Stable Different\\sd-webui-aki\\sd-webui-aki-v4.6.1\\outputs\\txt2img-images\\2024-02-20\\00040-3232873719.png"));
hlab->setScaledContents(true);
//账号密码标签图片
QLabel *lab2 = new QLabel(this);
QLabel *lab3 = new QLabel(this);
lab2->resize(35,35);
lab2->move(120,210);
lab2->setPixmap(QPixmap("C:\\Users\\12691\\OneDrive\\桌面\\pictrue\\wodepeizhenshi.png"));//设置图片路径
lab2->setScaledContents(true);
lab3->resize(35,35);
lab3->move(120,250);
lab3->setPixmap(QPixmap("C:\\Users\\12691\\OneDrive\\桌面\\pictrue\\passwd.jpg"));
lab3->setScaledContents(true);
//密码账号输入文本框
QLineEdit *edit1 = new QLineEdit(this);
QLineEdit *edit2 = new QLineEdit(this);
edit1->move(165,210);
edit1->resize(270,35);
edit1->setPlaceholderText("QQ号码/手机/邮箱");//文本框占用文本
edit2->move(165,250);
edit2->resize(270,35);
edit2->setPlaceholderText("密码");
edit2->setEchoMode(QLineEdit::Password);//设置内容显示形式为密码
//登录按钮
QPushButton *btn1 = new QPushButton("登录",this);
btn1->move(120,330);
btn1->resize(315,45);
btn1->setStyleSheet("background-color:rgb(31,200,253);color:white;border-radius:5px;");
//复选框选项
QCheckBox *checkBox1 = new QCheckBox(this);
QCheckBox *checkBox2 = new QCheckBox(this);
checkBox1->setText("自动登录");
checkBox1->setStyleSheet("background-color:transparent;color:#333;");
checkBox1->move(120,300);
checkBox2->setText("记住密码");
checkBox2->setStyleSheet("background-color:transparent;color:#333;");
checkBox2->move(240,300);
QLabel *lab4 = new QLabel(this);
lab4->setText("找回密码");
lab4->setStyleSheet("background-color:transparent;color:#333;");
lab4->move(370,302);
}
Widget::~Widget()
{
}