QT:常用类与组件

1.设计QQ的界面

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>

//自定义类Widget,采用public方式继承QWidget,该类封装了图形化界面的相关操作,相当于自定义类也有了相关操作
class Widget : public QWidget
{
    Q_OBJECT     //信号与槽的宏,若没有该宏,信号与槽不能使用

public:
    Widget(QWidget *parent = nullptr);  //构造函数声明,带默认参数
    ~Widget();
};
#endif // WIDGET_H

main.cpp

#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);  /采用QApplication 的有参构造实例化一个对象,
    Widget w;    //采用自定义Widget的无参构造实例化对象
    w.show();     //该对象调用显示函数
    return a.exec();
}
widget.cpp
#include "widget.h"

Widget::Widget(QWidget *parent)   //自定义类的构造函数,在初始化列表中显式调用父类QWidget的有参构造进行初始化
    : QWidget(parent)        //自定义中的Ui指针成员申请空间
{

    this->resize(800,600);
    this->setWindowTitle("QQ");
    this->setWindowIcon(QIcon("D:\\Project\\图标\\QQ.png"));


    QLabel *lab1=new QLabel(this);
    lab1->setPixmap(QPixmap("D:\\Project\\图标\\R.jfif"));
    lab1->resize(800,250);

    QLabel *lab2=new QLabel(this);
    lab2->setPixmap(QPixmap("D:\\Project\\图标\\3.jpg"));
    lab2->move(150,350);
    lab2->resize(100,100);



    QLabel *lab3=new QLabel(this);
    lab3->setText("账号:");
    lab3->resize(60,30);
    lab3->move(lab2->width()+lab2->x()+40,lab2->y());


    QLabel *lab4=new QLabel(this);
    lab4->setText("密码:");
    lab4->resize(60,30);
    lab4->move(lab3->x(),lab3->y()+lab3->height()+30);


    QLineEdit *edit1=new QLineEdit(this);
    edit1->resize(180,30);
    edit1->move(lab3->x()+lab3->width()+10,lab3->y());
    edit1->setStyleSheet("color:black");
    edit1->setAlignment(Qt::AlignLeft);
    edit1->setPlaceholderText("输入QQ账号");


    QLineEdit *edit2=new QLineEdit(this);
    edit2->resize(180,30);
    edit2->move(lab4->x()+lab4->width()+10,lab4->y());
    edit2->setStyleSheet("color:black");
    edit2->setAlignment(Qt::AlignLeft);
    edit2->setEchoMode(QLineEdit::Password);
    edit2->setPlaceholderText("输入QQ密码");


    QPushButton *btn1=new QPushButton(this);
    btn1->setText("登录");
    btn1->resize(80,40);
    btn1->move(lab4->x()+20,lab4->y()+lab4->height()+40);


    QPushButton *btn2=new QPushButton(this);
    btn2->setText("取消");
    btn2->resize(btn1->size());
    btn2->move(btn1->x()+btn1->width()+60,btn1->y());





}

Widget::~Widget()
{
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值