创建一个基础的qt项目

在安装好qt之后,我们去创建一个简单的qt项目,步骤如下

1.点击文件->新建文件或项目,或者点击 +New

2.选择应用程序Application ->选择桌面应用程序Qt Widgets Application ->Choose.3.编辑项目名称.往后跳不做改动

4.在这里自定义类名,在下面有3个基类,主窗口类QMainWindow,部件基类QWidget,对话框类QDialog.构建一个基础的项目,我们选择对话框类QDialog.我们勾选Generate form选项就会创建一个ui界面文件,这个看自己的需要,一般桌面开发都需要勾选.我们继续往后操作.

5.我们只需要勾选编译组件 MinGW 32即可,其他的编译组件不需要.最后在界面中显示我们将创建的所有文件 .cpp  .h  .ui  .pro.  其中.pro文件就是我们的工程文件,下次从文件点击该文件时就能打开这个项目.

下面是一些基础代码以及实现登录简单界面的部分代码.

1.头文件:

这里我印象最深的是UI::LoginDialog *ui.    LoginDialog其实就是我们自己定义的限定在命名空间UI内的类,这个类继承自qt内部对话框类QDialog.这是我基础不过关了(啊啊啊~基础不牢,地动山摇).

#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H

#include <QDialog>

//namespace使用的是命名空间,在C++基础最开始的时候有讲过
QT_BEGIN_NAMESPACE
namespace Ui { class LoginDialog; }//LoginDialog是 Ui_LoginDialog子类,用于描述登录窗口界面信息,自动生成的
QT_END_NAMESPACE

//这个LoginDialog类是自己定义的类,与上面UI命名空间内的不是同一个类,自己定义的类一定不要和qt内部的类相似!!!
class LoginDialog : public QDialog
{
    //声明私有的宏,表示当前的类支持信号与槽的机制.继承自QObject的类才支持信号与槽机制.用于不同对象之间的通信
    Q_OBJECT

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

private slots://私有的槽方法
    void on_loginButton_clicked();

private:
    Ui::LoginDialog *ui;//命名空间里面的类对象指针...UI::表示限定命名空间内. ui是类对象LoginDialog的指针.
};
#endif // LOGINDIALOG_H

2.源文件:

#include "logindialog.h"
#include "ui_logindialog.h"
#include<QMessageBox>
#include<QString>
#include<QFile>
#include<QTextStream>//文本操作文件流



LoginDialog::LoginDialog(QWidget *parent)
    : QDialog(parent)
    //在构造函数里进行了初始化ui对象...登录界面信息类LoginDialog的对象
    //ui是登录界面窗口类对象.登录界面的所有控件,信息都可以通过ui指针进行访问
    , ui(new Ui::LoginDialog)
{
    //初始化界面
    ui->setupUi(this);
    //把图片像素缩放充分的填充到imgLabel标签
    ui->imgLabel->setScaledContents(true);

    this->resize(ui->imgLabel->width(),ui->imgLabel->height());//重新定义窗口大小宽和高.可以省略 this->
    //固定登录窗口大小
    this->setFixedSize(width(),height());//使用width(),height()返回它本身的宽和高
    this->setWindowTitle("驾校科目一考试登录");//重新设置窗口标题
    this->setWindowFlags(Qt::Dialog|Qt::WindowCloseButtonHint);//设置窗口风格,简单对话框风格|关闭窗口风格


}



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

3.主函数文件mian

#include "logindialog.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    //a是应用程序类对象,a是程序运行时候的对象...不需要输入参数
    QApplication a(argc, argv);

    //w是登录窗口类对象,自定义类LoginDialog继承自对话框类QDialog.
    LoginDialog w;

    //把窗口显示出来,可视化
    w.show();

    //使对象进行消息事件循环
    return a.exec();
}

在这里说一下,如果大家是刚接触到qt,对这里面的很多类,函数,接口不熟悉,可以多多的参考官方文档,但是小伙伴们会说官方文档都是英文啊.我一看英文就犯困.没关系!我们可以使用有道词典翻译,其实文档看的多了,你就会慢慢的觉得它们都很亲切,很多的单词在计算机领域都是固定使用的,并不会有太多的解释.还有一点就是,虽然qt给我们提供了很多的接口,函数高度封装了,但是很多底层的东西,我们能了解还是要多了解一下才行,很多底层原理不知道,那都是虚的. 记得,多多看帮助文档!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值