cpp
复制代码
#include "widget.h"
#include "ui_widget.h"
#include <QDebug> //QT中信息调试类,用于输出数据,无需使用该类实例化对象,直接使用成员函数即可
#include <QIcon>
#include <QPushButton>
#include <QLabel>
#include <QMovie>
#include <QLineEdit>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->resize(400,300); //更改当前界面的尺寸
this->setMaximumSize(1000,900); //设置最大尺寸
this->setMinimumSize(200,100); //设置最小尺寸
this->setFixedSize(500,300); //设置固定尺寸
//设置窗体图标
this->setWindowIcon(QIcon("D:\\24061C++\\QT_day2\\1.png"));
/**********************有关按钮的操作***********************/
//构造按钮时,直接指定父组件
QPushButton *btn1 = new QPushButton(this);
btn1->setText("注册");
btn1->move(0,260); //移动按钮位置
btn1->resize(80,40); //设置按钮尺寸
btn1->setIcon(QIcon("D:\\24061C++\\QT_day2\\pictrue\\zhuce.png")); //设置按钮图标
//构造按钮时,指定父组件并且设置文本内容
QPushButton *btn2 = new QPushButton("确定",this);
btn2->resize(btn1->size());
btn2->move(150,200);
btn2->setIcon(QIcon("D:\\24061C++\\QT_day2\\pictrue\\queding.png"));
//构造函数时,指定父组件并设置文本内容,并设置按钮图标
QPushButton *btn3 = new QPushButton(QIcon("D:\\24061C++\\QT_day2\\pictrue\\quxiao.png"),"取消",this);
btn3->resize(btn1->size());
btn3->move(btn2->x()+btn2->width()+50,btn2->y());
/************************标签文本*****************************/
//1、使用无参构造完成构造一个标签
QLabel *lab1 = new QLabel;
lab1->setParent(this); //设置父组件
lab1->setText("账号:"); //设置文本内容
lab1->move(100,110); //设置坐标
//2、使用有参构造完成构造一个标签
QLabel *lab2 = new QLabel("密码:",this);
lab2->move(lab1->x(),lab1->y()+40);
//3、调用有无参构造,指定父组件,构造一个lab
QLabel *lab3 = new QLabel(this);
lab3->resize(500,100);
lab3->setStyleSheet("background-color:pink;");
//给标签设置动图
//创建一个mocie对象
QMovie *movie = new QMovie("D:\\24061C++\\QT_day2\\pictrue\\zz.gif");
//将动图对象放入标签中
lab3->setMovie(movie);
//让动图动起来
movie->start();
//让标签内容自适应大小
lab3->setScaledContents(true);
//给标签设置静态图
lab1->resize(30,30);
lab1->setPixmap(QPixmap("D:\\24061C++\\QT_day2\\pictrue\\userName.jpg"));
lab1->setScaledContents(true);
lab2->resize(30,30);
lab2->setPixmap(QPixmap("D:\\24061C++\\QT_day2\\pictrue\\passwd.jpg"));
lab2->setScaledContents(true);
/******************行编辑器类(QLIneEdit)***********************/
//1、使用无参构造,构造一个行编辑器
QLineEdit *edit1 = new QLineEdit;
edit1->setParent(this); //指定一个父组件
edit1->resize(300,30); //重新设置大小
edit1->move(lab1->x()+lab1->width()+2,lab1->y()); //移动位置
edit1->setPlaceholderText("账号"); //设置占位文本
//2、使用有参构造完成构造一个行编辑器
QLineEdit *edit2 = new QLineEdit("密码",this);
edit2->resize(300,30); //重新设置大小
edit2->move(lab2->x()+lab2->width()+2,lab2->y()); //移动位置
edit2->clear(); //清空内容
edit2->setPlaceholderText("密码"); //设置占位文本
edit2->setEchoMode(QLineEdit::Password); //设置回显模式
}
Widget::~Widget()
{
delete ui;
}