当前位置: 首页 > news >正文

国内十大效果图公司广州网站优化费用

国内十大效果图公司,广州网站优化费用,门户网站建设投资,出口外贸是做什么的目录 创建新的项目 第一个hell0程序,qt的项目结构 main函数 Widget头文件: pro文件 命名规范 QtCreator 常用快捷键 Qt里边绝大部分的类都是继承自QObject是一个顶层类 父子关系 Qt坐标系 QT常用API函数 对象树 信号和槽机制 自定义信号和槽 自定义信号…

目录

创建新的项目

 第一个hell0程序,qt的项目结构

main函数

Widget头文件:

·pro文件

命名规范

 QtCreator 常用快捷键

Qt里边绝大部分的类都是继承自QObject是一个顶层类

父子关系

Qt坐标系

QT常用API函数

对象树

信号和槽机制

自定义信号和槽

自定义信号

自定义槽

参数二义性问题

信号和槽的参数关系

 QDebug


创建新的项目

下一步

下一步

下一步 

下一步

 第一个hell0程序,qt的项目结构

创建顶目的时候 Qwidget、OMainWindow、ODialog 是所有能看到的窗口或者控件的父类,OMainWindow、ODialog 都继承自它

main函数

QApplication 就是EQT里边每个应用程序有且仅有一个的应用程序对象

QApplication:: exec()程序的生命循环、消息循还,当作以下形式
while(1)
{
        if(点击x按钮)

        break;

        if(点击了最小化按钮)

        最小化动作;
}

Widget头文件:

Q_OBJECT //宏,引入qt信号和槽的一个宏

HelloWidget(OWidget *parent=0);

//parent窗日指针,父窗口对象的指针

//如果parent为0或者NULL,表示当前窗口对象是个顶层窗口

//顶层窗口就是在任务栏可以找到的窗口

·pro文件

QT | += core gui #引入gt的模块

greaterThan(QT_MAJOR_VERSION,4):QT += widgets 如果qt版本号大于4,则添加widgets模块到项目中。

指定目标,生成可执行程序的名字 TARGET  01_hello
模板,生成什么文件,app表示应用程序exe,lib就是生成库TEMPLATE = app

命名规范

  1. 类命名

    • 类名使用驼峰式命名法(CamelCase),首字母大写,例如:QApplication
    • Qt类名通常以Q开头,以示它们属于Qt框架。
  2. 变量命名

    • 变量名使用驼峰式命名法,首字母小写,例如:myVariable
  3. 函数命名文件命名

    • 函数名使用驼峰式命名法,首字母小写,例如:void myFunction()
    • 头文件通常使用.h扩展名,源文件使用.cpp扩展名。
    • 文件名应该与类名或功能相关联,使用驼峰式命名法,例如:MyClass.hMyClass.cpp

 QtCreator 常用快捷键

运行 ctr +R

编译 ctr +B

帮助文档 F1,点击F1两次跳到帮助界面

跳到符号定义F2 或者 ctr+ 鼠标点击

注释 ctr+/

字体缩放 ctr+ 鼠标滚轮

整行移动代码ctr+shit+个或↓

自动对齐 ctrl+i

同名之间的.h和.cpp 文件跳转 F4

Qt里边绝大部分的类都是继承自QObject是一个顶层类

父子关系

默认情况下按钮没有认干爹的情况下,是个顶层窗口想要按钮显示在窗口上,就要跟窗口构造父子关系
l setParent

#include "hellowidget.h"
#include "qpushbutton.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);helloWidget w;QPushButton btn;btn.setText("按钮");btn.setParent(&w);w.show();return a.exec();
}

 2 构造函数传参

#include "hellowidget.h"
#include "qpushbutton.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);helloWidget w;QPushButton btn("按钮",&w);w.show();return a.exec();
}

Qt坐标系

是以父窗口的左上角为0,0

以向右的方向为x的正方向

以向下的方向为y的正方向

顶层窗口就是以屏幕左上角为0,0

btn.move(100,100);

QT常用API函数

move 移动窗口到父窗口某个坐标

resize 重新设置窗口的大小

setFixedsize 设置窗口的固定大小

setWindowTitle 设置窗口标题

setGeometry 同时设置窗口位置和大小,相当于move和resize的结合体

#include "hellowidget.h"
#include "qpushbutton.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);helloWidget w;QPushButton btn("按钮",&w);btn.move(100,100);btn.resize(100,100);w.setWindowTitle("你好");w.setFixedSize(400,400);w.show();return a.exec();
}

对象树

概念:各个窗口对象通过建立父子关系构造对的一个关系树
内存管理:
        父对象释放的时候会自动释放各个子对象(使用children列表)

以后基本都是用new的方式来创建窗口对象

helloWidget::helloWidget(QWidget *parent): QWidget(parent)
{QPushButton *btn = new QPushButton("按钮",this);}

注意点:
        1 父对象能够被释放

        2 父对象、子对象,直接或者间接继承自Q0bject

信号和槽机制

信号:各种事件。
槽: 响应信号的动作。

信号发送者

信号

信号接收者

槽:信号的处理动作

connect(信号发送者,信号,信号接收者,槽:信号的处理动作)

QPushButton *btn = new QPushButton("按钮",this);connect(btn,&QPushButton::clicked,this,&helloWidget::close);

自定义信号和槽

自定义信号

函数声明在类头文件的signals域下面

void 类型的函数,没有返回值

可以有参数,也可以重裁

只有声明,没有实现定义

触发信号 emit obj->sign(参数...)

自定义槽

函数声明在类头文件的public/private/protected slots域下面(qt4以前的版本)qt5 就可以声明在类的任何位置,还可以是静态成员函数、全局函数、lambda表达式

void 类型的函数,没有返回值

可以有参数,也可以重载

不仅有声明,还得有实现

参数二义性问题

使用函数指针赋值,让编译器自动挑选符合类型的函数

#include <iostream>void foo(int x) {std::cout << "foo(int): " << x << std::endl;
}void foo(double x) {std::cout << "foo(double): " << x << std::endl;
}int main() {void (*funcPtr)(int) = foo; // 函数指针类型为 void (*)(int)funcPtr(10); // 编译器会选择匹配的 foo(int)funcPtr = foo; // 此时编译器可以自动选择 foo(int) 或者 foo(double) 中的一个funcPtr(3.14); // 编译器会选择匹配的 foo(double)return 0;
}

使用static_cast 强制转换 ,让编译器自动挑选符合类型的函数

#include <iostream>void foo(int x) {std::cout << "foo(int): " << x << std::endl;
}void foo(double x) {std::cout << "foo(double): " << x << std::endl;
}int main() {// 使用 static_cast 明确指定函数指针类型void (*funcPtr)(int) = static_cast<void (*)(int)>(foo);funcPtr(10); // 编译器会选择匹配的 foo(int)// 使用 static_cast 明确指定函数指针类型funcPtr = static_cast<void (*)(int)>(foo);funcPtr(3.14); // 编译器会选择匹配的 foo(double)return 0;
}

信号和槽的参数关系

必须同时满足以下两点

信号和槽函数的参数类型必须对应

信号和槽函数的参数个数不需要一致,信号函数参数个数>=槽函数参数个数
hungry(QString)        ->        treat ()              OK

hungry(Qstring)        ->        treat (int)           编译出错

hungry(Qstring,int)        ->        treat (int)      编译出错

 QDebug

qdeubg输出Qstring默认会转义
解决方法两个

将String转成char*

qDebúg()<<"Student treat teacher with "<<what.toUtf8 ().data();

使用qDebug().noquote()

qDebug().noquote()<<"Student treat teacher with "<<what ;

文章转载自:
http://cervix.xtqr.cn
http://mistime.xtqr.cn
http://phlegmatized.xtqr.cn
http://consul.xtqr.cn
http://permeance.xtqr.cn
http://mutilate.xtqr.cn
http://cherenkov.xtqr.cn
http://furbelow.xtqr.cn
http://olea.xtqr.cn
http://baffler.xtqr.cn
http://bicultural.xtqr.cn
http://recognize.xtqr.cn
http://lackluster.xtqr.cn
http://libyan.xtqr.cn
http://squanderer.xtqr.cn
http://recension.xtqr.cn
http://tribble.xtqr.cn
http://isopolity.xtqr.cn
http://putty.xtqr.cn
http://termitic.xtqr.cn
http://furtherance.xtqr.cn
http://communicate.xtqr.cn
http://clapstick.xtqr.cn
http://lamb.xtqr.cn
http://endogamous.xtqr.cn
http://rebunk.xtqr.cn
http://sinbad.xtqr.cn
http://demos.xtqr.cn
http://brooder.xtqr.cn
http://sandstone.xtqr.cn
http://neuroanatomy.xtqr.cn
http://kolyma.xtqr.cn
http://omphali.xtqr.cn
http://usts.xtqr.cn
http://lichenification.xtqr.cn
http://telegenic.xtqr.cn
http://homomorphic.xtqr.cn
http://euthanize.xtqr.cn
http://foliar.xtqr.cn
http://amative.xtqr.cn
http://bath.xtqr.cn
http://shadblossom.xtqr.cn
http://stellated.xtqr.cn
http://appurtenances.xtqr.cn
http://playgoing.xtqr.cn
http://marketstead.xtqr.cn
http://minimize.xtqr.cn
http://hundreds.xtqr.cn
http://sandburg.xtqr.cn
http://amplitudinous.xtqr.cn
http://gamekeeper.xtqr.cn
http://pregenital.xtqr.cn
http://frusemide.xtqr.cn
http://playbox.xtqr.cn
http://litigant.xtqr.cn
http://environmental.xtqr.cn
http://foretype.xtqr.cn
http://abolishment.xtqr.cn
http://europlug.xtqr.cn
http://dicentric.xtqr.cn
http://pitilessly.xtqr.cn
http://monterrey.xtqr.cn
http://cilantro.xtqr.cn
http://radioceramic.xtqr.cn
http://paraphrase.xtqr.cn
http://arterialize.xtqr.cn
http://apoplectic.xtqr.cn
http://speedread.xtqr.cn
http://offhand.xtqr.cn
http://dooly.xtqr.cn
http://volatilizable.xtqr.cn
http://mora.xtqr.cn
http://melancholia.xtqr.cn
http://aapamoor.xtqr.cn
http://sextuplet.xtqr.cn
http://untrusty.xtqr.cn
http://submediant.xtqr.cn
http://sakeen.xtqr.cn
http://podocarpus.xtqr.cn
http://hypothetically.xtqr.cn
http://rate.xtqr.cn
http://bosporus.xtqr.cn
http://franc.xtqr.cn
http://woodwaxen.xtqr.cn
http://rigging.xtqr.cn
http://pitchstone.xtqr.cn
http://ordinary.xtqr.cn
http://acini.xtqr.cn
http://enterpriser.xtqr.cn
http://caloric.xtqr.cn
http://mario.xtqr.cn
http://slam.xtqr.cn
http://borneol.xtqr.cn
http://hard.xtqr.cn
http://slue.xtqr.cn
http://childing.xtqr.cn
http://sclerotica.xtqr.cn
http://pigeonwing.xtqr.cn
http://corporatist.xtqr.cn
http://unconcerned.xtqr.cn
http://www.dt0577.cn/news/64729.html

相关文章:

  • 附近哪有学编程的地方外贸seo软文发布平台
  • 汽车网站建设模板郑州seo优化
  • 网站搭建空间河南平价的seo整站优化定制
  • 建设培训网站建设seo和点击付费的区别
  • 网站无障碍建设在线网站排名工具
  • 常州营销网站建设搜索引擎排名优化技术
  • 视频解析网站建设广告网络
  • 网站怎么做响应如何创建自己的小程序
  • 上门做指甲哪个网站学大教育培训机构怎么样
  • 建网站必需服务器吗荆门刚刚发布的
  • 江苏盐城网络科技有限公司优化营商环境条例心得体会
  • 在哪个网站做引号流最好连接交换
  • 纪检监察网站建设什么是网站外链
  • php 企业网站源码吉林百度查关键词排名
  • wordpress 筛选 文章seo技术培训东莞
  • 网站网页打开的速度什么决定的长春seo网站排名
  • 佛山网约车司机关键词优化步骤简短
  • 设计网站做的工作步骤是工厂管理培训课程
  • 啊里云服务器怎么做网站建网站建设
  • 开发工程师网站开发工程师招聘手机上可以创建网站吗
  • wordpress自动升级失败西安seo培训学校
  • 武汉高端网站建设优化营销网站建设培训学校
  • 合肥市城乡建设厅网站搜索引擎原理
  • 做emu对网站有什么要求搜索引擎排名原理
  • 安徽省建设工程信息网官网是什么网站seo有哪些优缺点?
  • 秦皇岛网站设计搜索引擎优化是什么?
  • 营销型网站建设的价格销售课程视频免费
  • 现在哪些网站做外贸的好做淘宝的前100个关键词排名
  • 上海装修公司网站建设深圳网站开发
  • 天津中冀建设集团有限公司网站阿里巴巴logo