7.26 作业 QT

这篇具有很好参考价值的文章主要介绍了7.26 作业 QT。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.继续完善登录框,当登录成功时,关闭登录界面,跳转到新的界面中:

结果图:

7.26 作业 QT,qt,开发语言7.26 作业 QT,qt,开发语言

 second.h:

#define SECOND_H

#include <QWidget>
#include<QDebug>              //信息调试类,用于打印输出的
#include<QIcon>          //图标头文件
#include<QPushButton>     //按钮类头文件
#include<QLineEdit>       //行编辑器类
#include<QLabel>              //标签类
#include <QMovie>
#include <QDebug>
namespace Ui {
class Second;
}

class Second : public QWidget
{
    Q_OBJECT

public:
    explicit Second(QWidget *parent = nullptr);
    ~Second();

public slots:
    void jump_slot();      //跳转对应的槽函数

private:
    Ui::Second *ui;

    QLabel *lab1;
};

#endif // SECOND_H

widget.h:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QDebug>              //信息调试类,用于打印输出的
#include<QIcon>          //图标头文件
#include<QPushButton>     //按钮类头文件
#include<QLineEdit>       //行编辑器类
#include<QLabel>              //标签类
#include <QMovie>
#include <QDebug>
class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

signals:    //该权限下说明要定义信号函数
    void jump();   //定义跳转的信号函数


public slots:   //该权限下要定义公共的槽函数
    void my_slot();     //自定义的槽函数 处理取消按钮的槽函数
    void btn2_slot();   //自定义处理按钮2发射的信号的槽函数声明
    void loging_slot();  //自定义处理登录按钮的槽函数
    void jump_btn1_click(); //自定义登录按钮跳转函数

private:
    QLabel *lab1;
    QLabel *lab2;
    QLabel *lab3;
    QLabel *lab4;
    QLineEdit *edit1;
    QLineEdit *edit2;
    QPushButton *btn1;
    QPushButton *btn2;
};
#endif // WIDGET_H

main.cpp:

#include "widget.h"
#include "second.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    Second s;   //实例化第二个界面

    QObject::connect(&w , &Widget::jump, &s ,&Second::jump_slot);

    return a.exec();
}

second.cpp:

#include "second.h"
#include "ui_second.h"

Second::Second(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Second)
{
    ui->setupUi(this);
}

Second::~Second()
{
    delete ui;
}

void Second::jump_slot()
{
    this->show();
}

widget.cpp:

#include "widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //设置尺寸
    this->resize(800,600);  //设置宽高
    //设置固定尺寸
    this->setFixedSize(800,600);

    //窗口标题操作
    qDebug()<<this->windowTitle();  //获取窗口标题
    this->setWindowTitle("iKun论坛");

    //设置窗口图标
    this->setWindowIcon(QIcon("D:\\Icon\\kun.png"));



    //QLabel
    lab1 = new QLabel(this);    //指定父组件
    lab1->resize(800,325);      //重新设置尺寸
    lab1->setAlignment(Qt::AlignCenter);    //垂直和水平全都剧中

    //使用QMovie加载gif图片
    QMovie *gifMovie = new QMovie("D:\\Icon\\kunkun.gif");
    lab1->setMovie(gifMovie);
    lab1->setScaledContents(true);  //自适应大小
    gifMovie->start();  //开始播放gif

    lab2 = new QLabel(this);    //指定父组件
    lab2->resize(80,50);
    lab2->move(200,350);
    lab2->setPixmap(QPixmap("D:\\Icon\\zhongfen.png"));
    lab2->setScaledContents(true);  //图片自适应大小

    lab3 = new QLabel(this);
    lab3->resize(80,50);
    lab3->move(200,420);
    lab3->setPixmap(QPixmap("D:\\Icon\\tieshankao.png"));
    lab3->setScaledContents(true);  //图片自适应大小

    lab4 = new QLabel(this);
    lab4->resize(175,250);  //重新设置尺寸
    lab4->move(0,340);       //移动位置
    QMovie *gifMovie2 = new QMovie("D:\\Icon\\kunkun2.gif");
    lab4->setMovie(gifMovie2);
    lab4->setScaledContents(true);  //自适应大小
    gifMovie2->start();  //开始播放gif


    //QLineEdit
    edit1 = new QLineEdit(this); //有参构造,构造时给定父组件
    edit1->resize(300,50);
    edit1->move(300,350);   //移动
    edit1->setPlaceholderText("黑子名");   //设置占位符

    edit2 = new QLineEdit(this);
    edit2->resize(edit1->size());   //设置和edit1的大小相同
    edit2->move(300,420);   //移动
    edit2->setEchoMode(QLineEdit::Password);    //设置密文模式
    edit2->setPlaceholderText("鸡脚");   //设置占位符


    //QPushButton
    btn1 = new QPushButton(this);
    btn1->setText("你干嘛哎哟~");    //设置按钮上文本内容
    btn1->resize(140,50);    //设置组件的大小
    btn1->move(470,500);    //移动组件
    btn1->setIcon(QIcon("D:\\Icon\\kun2.png"));
    QSize iconSize(50,50);   //设置图标大小
    btn1->setIconSize(iconSize);

    btn2 = new QPushButton(this);
    btn2->setText("食不食油饼");
    btn2->resize(btn1->size());     //设置和btn1一样的大小
    btn2->move(650,500);
    btn2->setIcon(QIcon("D:\\Icon\\kun3.png"));
    btn2->setIconSize(iconSize);

    //用qt4版本的连接,将取消按钮连接到自定义的函数中
    connect(btn2,SIGNAL(clicked()),this,SLOT(my_slot()));

    //用qt5版本的连接,将登录按钮连接到自定义的槽函数中
    connect(btn1,&QPushButton::clicked,this,&Widget::loging_slot);

}


Widget::~Widget()
{

}

//void widged类外定义的槽函数 取消按钮
void Widget::my_slot()
{
    this->close();
}

//连接登录的槽函数
void Widget::btn2_slot()
{
    connect(btn2,SIGNAL(clicked()),this,SLOT(my_slot()));
}

void Widget::loging_slot()
{
    QString userName = edit1->text();
    QString pwd = edit2->text();
    if(userName=="mind" && pwd=="123456")
    {
        qDebug()<<"登录成功";
        Widget::jump_btn1_click();
    }else
        qDebug()<<"登录失败";
}

//跳转对应的槽函数
void Widget::jump_btn1_click()
{
    //发送跳转信号
    emit jump();

    this->close();
}

2.新建一个工程文件,将默认提供的代码加上注释信息:

.pro:

​
QT       += core gui  //表示引入qt所需的类库,如核心库,图形化界面库

//表示此版本超过4.0版本,系统自动加的widgets库
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

//表示该版的qt支持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 \
    mainwindow.cpp

//管理头文件
HEADERS += \
    mainwindow.h

//管理ui文件
FORMS += \
    mainwindow.ui

TRANSLATIONS += \
    01test_zh_CN.ts

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

​

3.思维导图:

7.26 作业 QT,qt,开发语言文章来源地址https://www.toymoban.com/news/detail-611114.html

到了这里,关于7.26 作业 QT的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 7.28 作业 QT

    手动完成服务器的实现,并具体程序要注释清楚: widget.h: widget.cpp: 思维导图:    

    2024年02月15日
    浏览(46)
  • 7.27 作业 QT

    要求:  结果图: clock.pro:  widget.h: widget.cpp: widget.ui: 思维导图:  

    2024年02月15日
    浏览(40)
  • 7.10 qt作业

    闹钟

    2024年02月16日
    浏览(39)
  • QT作业4

    实现一个闹钟,当输入时间后,点击启动到达时间后循环播报三遍,便签内容 头文件: 源文件: 主函数文件: 运行结果: 思维导图:

    2024年02月04日
    浏览(36)
  • QT周五作业

    题目:实现简单水果的价格重量计算 点击一次水果重量+1  自动计算总价 代码: widget.h widget.cpp

    2024年02月02日
    浏览(41)
  • QT周四作业

    题目: 代码: widget.cpp widget.h

    2024年01月21日
    浏览(42)
  • 【VisualStudio】基于 Visual Studio 使用 C++ 语言开发 Qt 环境配置教程

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 先上一张效果图,具体步骤主要分为以下三步。 这一步不再赘述,注意一定要安装 C++ 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 这一步也不再赘述,网上搜索教

    2024年02月15日
    浏览(70)
  • 【Visual Studio】使用 C++ 语言,配合 Qt,开发了一个串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 我要使用的功能比较简单,主要包含扫描串口、打开串口、发送数据、接收数据、暂停按钮、停止按钮,因此接下里将围绕这几个功能依次更新。 我的工程项目名字叫 “GUI”。

    2024年02月11日
    浏览(71)
  • QT DAY2 作业

    1.  头文件 main.cpp mywidget.cpp 效果图 2 2.思维导图  

    2024年01月21日
    浏览(59)
  • QT DAY4作业

    1. 头代码 源代码 效果图 2.思维导图

    2024年02月02日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包