当前位置:AIGC资讯 > AIGC > 正文

QT、C++简单界面设计

#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    ---------------------窗口设置----------------------
    this->setWindowTitle("南城贤子摄影工作室");//设置窗口标题
    this->setWindowIcon(QIcon("d:\\Pictures\\Camera Roll\\rr"));//设置窗口图标
    this->setWindowFlag(Qt::FramelessWindowHint);//设置纯净标题
    this->resize(540,415);//设置大小
    this->setStyleSheet("background-color:white");//设置背景颜色

    ---------------------标签设置----------------------
    QLabel *bel1=new QLabel(this);//设置一个标签
    bel1->resize(540,415);//设置大小
    bel1->setStyleSheet("background-color:green");//设置背景颜色
    //实例化一个动图指针
    QMovie *mv=new QMovie("d:\\Pictures\\Camera Roll\\dd");
    bel1->setMovie(mv);//将动图设置到标签中
    mv->start();//动图动起来
    bel1->setScaledContents(true);//自适应大小

    QLabel *bel2=new QLabel(this);
    bel2->resize(30,30);
    bel2->move(125,210);
    bel2->setPixmap(QPixmap("d:\\Pictures\\Camera Roll\\oo"));
    bel2->setScaledContents(true);

    QLabel *bel3=new QLabel(this);
    bel3->resize(30,30);
    bel3->move(125,260);
    bel3->setPixmap(QPixmap("d:\\Pictures\\Camera Roll\\passwd"));
    bel3->setScaledContents(true);

    --------------------行编辑器设置-------------------
    QLineEdit *dit1=new QLineEdit(this);//构造一个行编辑器
    dit1->move(160,210);
    dit1->resize(280,30);
    dit1->setPlaceholderText("QQ号码/手机/邮箱");//设置占位

    QLineEdit *dit2=new QLineEdit(this);//构造一个行编辑器
    dit2->move(160,260);
    dit2->resize(280,30);
    dit2->setPlaceholderText("密码");//设置占位
    dit2->setEchoMode(QLineEdit::Password);

    --------------------按钮设置-------------------
    QPushButton *btn=new QPushButton("登录",this);
    btn->move(125,345);
    btn->resize(300,45);//设置按钮大小
    btn->setStyleSheet("background-color:rgb(8,189,253);border-radius:5px;color:white");//设置背景,按钮样式,字体颜色

}

MyWidget::~MyWidget()
{
}

总结

这篇文章展示了一个基于Qt框架编写的`MyWidget`类的构造函数,其主要功能是为了创建一个具有特定样式和功能的图形用户界面(GUI)部件。以下是该文章内容的总结:
### 窗口设置
1. **标题与图标**:设置窗口的标题为“南城贤子摄影工作室”,并指定了一个窗口图标。
2. **无边框窗口**:通过设置`Qt::FramelessWindowHint`标志,使窗口去除了边框,呈现出更加纯净的界面效果。
3. **窗口大小与样式**:将窗口大小设置为540x415像素,并设置了背景颜色为白色。
### 标签设置
- **主背景标签** (`bel1`):
1. 覆盖了整个窗口区域,设置其背景颜色为绿色。
2. 将一个动态图片设置为该标签的背景,并自动开始播放该动图。
3. 启用内容自适应,以确保动图不被裁剪或变形。
- **另外两个图片标签** (`bel2` 和 `bel3`):
1. 分别在主窗口上指定位置显示了两个小图片,通过设置`setScaledContents(true)`来确保图片自适应标签大小。
### 行编辑器设置
- **QQ号码/邮箱输入框** (`dit1`):
1. 设置了占位文本为“QQ号码/手机/邮箱”,以引导用户输入登录信息。
- **密码输入框** (`dit2`):
1. 同样设置了占位文本为“密码”,并且使用了密码模式,输入的字符将被隐藏。
### 按钮设置
- **登录按钮** (`btn`):
1. 添加了一个带有“登录”文本的按钮,放置在指定位置。
2. 对按钮背景颜色、边框圆角和字体颜色进行了样式定制,提高了用户界面的视觉吸引力。
### 析构函数
- 构造函数之后的`MyWidget`析构函数是一个空实现,这是Qt Widgets中常见的做法(除非有特殊资源需要在对象销毁前释放)。
综上所述,该`MyWidget`类用于创建一个登录界面的GUI部件,包含了基础的窗口和组件布局,如动态背景、图片标签、输入框和自定义样式的按钮,共同为用户呈现了一个直观易用的登录界面。

更新时间 2024-08-18