QT-day1

2023-09-15 19:40:40

实现华清远见登陆界面

#include "mywnd.h"
#include <iostream>
#include <QDebug>
#include <QPushButton>
#include <QLineEdit>
#include <QLabel>

MyWnd::MyWnd(QWidget *parent)
    : QWidget(parent)
{
    //设置固定窗口大小长400,宽350
    this->setFixedSize(400,350);
    //设置窗口名Widget
    this->setWindowTitle("Widget");
    //导入图标
    this->setWindowIcon(QIcon("F:\\hqyj\\icon\\icon\\wodepeizhenshi.png"));
    //创建标签1华清远见
    QLabel *lab1 = new QLabel(this);
    lab1->resize(400,150);
    lab1->setPixmap(QPixmap("F:\\hqyj\\icon\\icon\\logo.png"));
    lab1->setScaledContents(true);
    //创建admin的标签
    QLabel *lab2 = new QLabel(this);
    lab2->resize(60,55);
    lab2->move(75,160);
    lab2->setPixmap(QPixmap("F:\\hqyj\\icon\\icon\\userName.jpg"));
    lab2->setScaledContents(true);
    //创建密码passwd的标签
    QLabel *lab3 = new QLabel(this);
    lab3->resize(60,55);
    lab3->move(lab2->x(),lab2->y()+65);
    lab3->setPixmap(QPixmap("F:\\hqyj\\icon\\icon\\passwd.jpg"));
    lab3->setScaledContents(true);
    //创建admin行编辑器
    QLineEdit *edit1 = new QLineEdit("admin",this);
    edit1->resize(200,55);
    edit1->move(lab2->x()+65,lab2->y());
    //创建密码passwd行编辑器
    QLineEdit *edit2 = new QLineEdit("123456",this);
    edit2->resize(200,55);
    edit2->move(lab3->x()+65,lab3->y());
    edit2->setEchoMode(QLineEdit::Password);
    //创建登录按钮
    QPushButton *bton1 = new QPushButton(QIcon("F:\\hqyj\\icon\\icon\\login.png"),"登录",this);
    bton1->resize(90,55);
    bton1->move(edit2->x()+20,edit2->y()+65);
    //创建取消按钮
    QPushButton *bton2 = new QPushButton(QIcon("F:\\hqyj\\icon\\icon\\cancel.png"),"登录",this);
    bton2->resize(90,55);
    bton2->move(bton1->x()+105,bton1->y());

}

MyWnd::~MyWnd()
{
}

测试结果

工程文件的注释

工程管理文件.pro

#引入QT工程所需的类库core是核心库,gui是图形开发相关类库
QT       += core gui

#超过4.0版本自动加上widgets类库
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

#支持C++11后的版本
CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

#对源文件进行管理
SOURCES += \
    main.cpp \
    mywind.cpp

#对头文件进行管理
HEADERS += \
    mywind.h

#对ui界面文件进行管理
FORMS += \
    mywind.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

头文件

#ifndef MYWIND_H
#define MYWIND_H        //防止文件重复包含

#include <QMainWindow>  //父类的头文件

QT_BEGIN_NAMESPACE
namespace Ui { class MyWind; }
QT_END_NAMESPACE

//自定义自己的界面类,公共继承自QWidget,父类中重写了绘制事件处理函数
class MyWind : public QMainWindow
{
    Q_OBJECT            //信号与槽的元对象,没有这个对象,信号与槽就不能使用了

public:
    MyWind(QWidget *parent = nullptr); //构造函数的声明,并且有一个带默认参数的形参
    ~MyWind();                          //析构函数的声明

private:
    Ui::MyWind *ui;      //可以通过该指针调用ui界面上拖拽出来的组件
};
#endif // MYWIND_H

源文件

#include "mywind.h"
#include "ui_mywind.h"

MyWind::MyWind(QWidget *parent)     //构造函数的定义
    : QMainWindow(parent)           //显性调用父类的有参构造完成对子类从父类继承下来成员的初始化工作
    , ui(new Ui::MyWind)            //给自己类中的指针成员初始化空间,ui界面中拖拽出来的组件,就在这个对象中
{
    ui->setupUi(this);              //调用Ui::MyWnd类里面的成员函数,给拖拽的组件实例化空间,并设置相关属性
}

MyWind::~MyWind()      // 定义析构函数
{
    delete ui;         //释放指针空间
}

主程序文件

#include "mywind.h"         //引入自定义图形化界面类的头文件

#include <QApplication>     //引入应用程序类的头文件

int main(int argc, char *argv[])
{
    QApplication a(argc, argv); //使用应用程序类,实例化一个应用程序的对象
    MyWind w;           //用自定义的图形化界面类实例化一个对象
    w.show();           //调用show函数展示界面,父类提供的可以展示自己的组件,以自己作为父组件的所有子组件也会被展示出来
    return a.exec();    //阻塞等待应用程序,防止应用程序结束,等待用户操作、等待信号与槽、等待事件发生
}

更多推荐

Java面向对象编程

给出数据表score(stu-id,name,math,english,Chinese),下列语句正确的是()A.Selectsum(math),avg(chinese)fromscoreB.Select*,sum(english)fromscoreC.Selectstu-id,sum(math)fromscoreD.

大模型从入门到应用——LangChain:代理(Agents)-[代理执行器(Agent Executor):结合使用Agent和VectorStore]

分类目录:《大模型从入门到应用》总目录代理执行器接受一个代理和工具,并使用代理来决定调用哪些工具以及以何种顺序调用。本文将参数如何结合使用Agent和VectorStore。这种用法是将数据加载到VectorStore中,并希望以Agent的方式与之进行交互。推荐的方法是创建一个RetrievalQA,然后将其作为整体

趣解设计模式之《珍爱生命,远离只狼》

〇、小故事小王最近打算入手一款叫《只狼》的游戏,这款游戏特别的硬核,也就是说,普通的小怪战斗力都特别的强,而作为主角的我们,也很容易被小兵打败。除了游戏中的小兵和Boss很难打败之外,如果在游戏中被杀了,也需要从这章的开头开始打,没办法直接从死亡点附近复活,这个就又为游戏增加了难度。不过,对这款游戏痴迷的玩家依然很多很

MC-4/11/01/400 ELAU 软件允许用户完全访问相机设置

MC-4/11/01/400ELAU软件允许用户完全访问相机设置一个完整的Sentinel模具保护解决方案包括一到四台冲击式摄像机、专用红外LED照明和镜头、Sentinel软件以及所有与模压机连接的必要互连组件。摄像机支架基于磁性,可快速、安全、灵活地部署。此外,一个可选的工业电脑和显示器可在一个移动推车,快速新闻到

移动端H5封装一个 ScrollList 横向滚动列表组件,实现向左滑动

效果:1.封装组件:<template><divclass="scroll-list"><divclass="scroll-list-content":style="{background,color,fontSize:size}"ref="scrollListContent"><divclass="scroll-li

第七章(2):深度学习在自然语言处理NLP中的应用

第七章(2):深度学习在自然语言处理NLP中的应用作者:安静到无声个人主页作者简介:人工智能和硬件设计博士生、CSDN与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇。Thanks♪(・ω・)ノ如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!o( ̄▽ ̄)d欢迎大家来到安静到无声的《基于

Python--函数

目录1、定义函数1.1向函数传递信息1.2实参和形参2、传递实参2.1位置实参2.2关键字实参2.3默认值2.4等效的函数调用2.5避免实参错误3、返回值3.1返回简单的值3.2让实参变成可选的3.3返回字典3.4结合使用函数和While循环4、传递列表4.1在函数中修改列表4.2禁止函数修改列表5、传递任意数量的实参

C++学习笔记——类与对象(六个默认成员函数)

1、构造函数在一个类中,编译器会自动生成默认的成员函数,当对象进行初始化时,会默认调用这个函数来初始化。构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动调用,以保证每个数据成员都有一个合适的初始值,并且在对象整个生命周期内只调用一次。它的特点是:没有返回值系统自动调用构造函数可以重载名字和类名

简单工厂模式 和 工厂方法 和 抽象工厂的区别

简单工厂模式、工厂方法模式和抽象工厂模式是三种不同的创建型设计模式,它们在对象的创建和封装方面有不同的用途和实现方式。以下是它们之间的主要区别:1.**简单工厂模式(SimpleFactoryPattern)**:-**目的**:简单工厂模式的主要目的是封装对象的创建逻辑,以便客户端代码无需知道具体对象的创建细节。它将

展会预告 | 图扑邀您共聚 IOTE 国际物联网展·深圳站

参展时间:9月20日-22日图扑展位:9号馆9B35-1参展地址:深圳国际会展中心(宝安新馆)IOTE2023第二十届国际物联网展·深圳站,将于9月20日-22日在深圳国际会展中心(宝安)9、10、11号馆震撼来袭。本届展会以“IoT构建数字经济底座”为主题,将IoT技术引入实体经济领域,促进数字化转型和智能化升级,推

基于Java+SpringBoot+Vue前后端分离旅游网站设计和实现

博主介绍:✌全网粉丝30W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末获取源码联系🍅👇🏻精彩专栏推荐订阅👇🏻不然下次找不到哟2022-2024年最全的计算机软件毕业设计选题

热文推荐