Qt学习日志2021_08_20

Qt学习日志2021_08_20

Qt项目的创建

为了做一个Qt的项目,先来学习学习

今天时间不多,先做一些简单的了解

创建项目很简单,安装好Qt之后,就可以根据提示创建了。

要注意:

  • 不能路径有中文
  • 项目名称也不能有中文、空格等

上面还有很多的教程和实例,可以看看学习。


优点:

  • 跨平台

  • 接口简单

  • 简化了内存回收

三种窗口:

  • QWidget (最简单的窗口,什么都没有)
  • QMainWindow (拥有菜单栏等,算是子类)
  • QDialog (对话框。也是QWidget的子类。)

创建之后就会生成默认的头文件,源文件

版本控制系统

  • svn

  • vss

  • git

函数

#include "my_widget.h"
#include <QApplication>

//argc 命令行变量的数量 argv命令行变量的数组
int main(int argc, char *argv[])
{
    //a应用程序对象,在Qt中有且仅有一个
    QApplication a(argc, argv);
    My_Widget w; //实例化一个窗口对象
    //窗口对象不会默认现实,要用show函数显式表达
    w.show();

    //让应用程序对象进入消息循环机制
    return a.exec();
}
#include "my_widget.h"
#include "ui_my_widget.h"

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

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

Qt中的命名规范和快捷键

Qt的基本模块

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AzOubHKh-1629471890570)(D:\java_learn\Qt学习日志2021_08_20.assets\image-20210820222350328.png)]

工程文件分析

#-------------------------------------------------
#
# Project created by QtCreator 2021-08-20T22:08:42
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = project_01  //项目名
TEMPLATE = app       //模板 默认的是app

# The following define makes your compiler emit warnings if you use
# any feature of Qt which has been marked as 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 you use 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

CONFIG += c++11

SOURCES += \   //源文件
        main.cpp \
        my_widget.cpp

HEADERS += \   //头文件
        my_widget.h

FORMS += \
        my_widget.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
  • 类名:首字母大写,驼峰原则
  • 函数:小驼峰
  • 注释 : ctrl + /
  • 运行 : ctrl + l
  • 编译 : ctrl + b
  • 查找 : ctrl + f
  • 自动对齐: ctrl + i
  • 同名之间的 .h文件和 对应的.cpp文件切换: F4
  • 帮助文档 F1

创建一个按钮

QPushButton *btn = new QPushButton;
btn->show(); 
    QPushButton *btn = new QPushButton;
    //btn->show(); 默认以顶层的方式弹出
    //相要让按钮依赖在窗口中,需要指向父亲
    btn->setParent(this);

    //显示文本
    btn->setText("第一个按钮");
    btn->move(250,200);

    //创建第二个按钮 按照控件的大小创建了窗口
    QPushButton *btn2 = new QPushButton("第二个按钮",this);

    //移动按钮的位置
    btn2->move(250,100);

    //重置窗口大小
    resize(600,400);
    //setFixedSize(600,400); 用户将不能缩放拉动窗口

    //设置窗口标题
    setWindowTitle("第一个窗口");

对象树

根据提供的引用内容,问题是关于在使用Qt编程时遇到的一些错误。根据中的解决方法,如果需要使用信号和槽,那么Q_OBJECT是必需的。如果在使用Q_OBJECT后出现错误,可能需要清除并重新导入使用了Q_OBJECT的头文件和cpp文件。根据的问题汇总,错误可能包括undefined reference to 'vtable for PaintArea',no matching function for call to 'PaintArea::PaintArea(Widget*)',以及return type specification for destructor invalid void Widget::~Widget()。对于问题E:\VSFile\QtFile\Qt_QPainter\widget.cpp:24: error: C1071: 在注释中遇到意外的文件结束,我没有找到具体的解决方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [QT学习日志(附:简易计算器,qq登录界面,简易绘图板,植物大战僵尸魔改版项目实践)](https://blog.csdn.net/qq_46354688/article/details/107067560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [QT入门_QPainter基本绘图](https://blog.csdn.net/qq_46354688/article/details/107150893)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写代码的信哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值