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

大连商城网站制作公司码制作二维码生成器

大连商城网站制作公司,码制作二维码生成器,上海seo优化公司,信息网招聘1.qt概述 1.什么是qt Qt 是一个跨平台的 C 图形用户界面应用程序框架。它为应用程序开发者提供建立艺 术级图形界面所需的所有功能。它是完全面向对象的#xff0c;很容易扩展#xff0c;并且允许真正的组 件编程。 2.支持的平台 Windows – XP 、 Vista 、 Win7 、 Win8…1.qt概述 1.什么是qt Qt 是一个跨平台的 C 图形用户界面应用程序框架。它为应用程序开发者提供建立艺 术级图形界面所需的所有功能。它是完全面向对象的很容易扩展并且允许真正的组 件编程。 2.支持的平台 Windows – XP 、 Vista 、 Win7 、 Win8 、 Win2008 、 Win10 Uinux/X11 – Linux 、 Sun Solaris 、 HP-UX 、 Compaq Tru64 UNIX 、 IBM AIX 、 SGI IRIX 、 FreeBSD 、 BSD/OS 、和其他很多 X11 平台 Macintosh – Mac OS X Embedded – 有帧缓冲支持的嵌入式 Linux 平台 Windows CE 3.安装 见之前博客 2.创建项目 创建项目 步骤一选择新建 步骤二选择application项目 3.填写项目名称和存储路径位置 如图所示 3.工程.pro文件说明 # 添加源信息 core 核心源码 gui 图形化源码 QT core gui # 如果 Qt 版本大于 4, 没 QT 添加 widgets 组件库 greaterThan(QT_MAJOR_VERSION, 4) : QT widgets # 生成的 .exe 文件名 TARGET demo01 # 模板类型 ,app 表示应用程序模板 TEMPLATE app # 使用 c11 标准 # g -stdc11 CONFIG c11 # Qt 过时警告 DEFINES QT_DEPRECATED_WARNINGS # cpp 的源文件 【重要】 SOURCES \ main.cpp \ widget.cpp # 头文件 【重要】 HEADERS \ widget.h # 编译时输出的可执行程序的名称 TARGET hello # 部署安装时的选项 qnx 是嵌入式的操作系统的名称 qnx : target.path /tmp/$${TARGET}/bin # 如果不是 qnx 是 unix 非 Android 时 , 安装的目标位置是 /opt/../bin else : unix : !android : target.path /opt/$${TARGET}/bin # 如果 target.path 路径非空时则设置安装路径 !isEmpty(target.path): INSTALLS target 4.窗口属性 this-resize(800,600);  //设置窗口大小( 1 参 : 宽度 2 参 : 高度) this-setWindowTitle( 德玛西亚); // 设置窗口标题 this-setFixedSize(800,600);// 设置窗口大小不可改变 this-setWindowicon(Qicon(图片文件路径));//设置窗口图标 this-setText();//设置文本信息 this-Text();//获取文本信息 5.按钮Qpushbutton 方式一代码创建 #include widget.h #include ui_widget.h #include QPushButton//1,引入按钮所需头文件 Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) {ui-setupUi(this);//设置窗口大小//1参:宽度//2参:高度this-resize(800,600);//设置窗口标题this-setWindowTitle(德玛西亚);//设置窗口大小不可改变this-setFixedSize(800,600);//2,创建按钮对象QPushButton* btn new QPushButton;//3,设置按钮的父容器btn-setParent(this);//4,设置位置btn-move(100,100);//5,设置文本btn-setText(登录);} Widget::~Widget() {delete ui; } 方式 2: 图形界面开发 6.信号与槽机制 1.注意 核心在于发送者与接受者 发送者可以发出多种信号, 被多个不同的接收者接收 接收者有多个槽函数, 接收不同的发送者发出的信号 2.信号与槽的连接 connect()函数 connect(sender, signal, receiver, slot)         sender:发送者         signal:发出的信号         receiver:接受者         slot:槽函数 示例1         //ui文件中名为 btnclose 的按钮发出点击信号         //被当前窗口接收执行关闭窗口的操作         //qt5的写法         //connect(ui-btnclose,QPushButton::clicked,this,Widget::close);         //qt4的写法         connect(ui-btnclose,SIGNAL(clicked(bool)),this,SLOT(close()));         示例2         //信号与槽函数有参数         //qt5的写法         //void (QPushButton:: *cli_p)(bool) QPushButton::clicked;         //void (Widget:: *myfun_p)(bool) Widget::myfun;         //connect(ui-btnclose,cli_p,this,myfun_p);         //qt4的写法         connect(ui-btnclose,SIGNAL(clicked(bool)),this,SLOT(myfun(bool))); 系统提供的信号与槽 QWidget 提供 信号 void customContextMenuRequested(const QPoint pos) // 请求上下文菜单时 void windowIconChanged(const QIcon icon) // 窗口图标改变时 void windowTitleChanged(const QString title) // 窗口标题改变时 槽 bool close() // 关闭 void hide() // 隐藏 void lower() void raise() void repaint() // 重新加载 void setDisabled(bool disable) void setEnabled(bool) void setFocus() void setHidden(bool hidden) void setStyleSheet(const QString styleSheet) virtual void setVisible(bool visible) void setWindowModified(bool) void setWindowTitle(const QString ) void show() // 显示 void showFullScreen() // 全屏显示 void showMaximized() // 最大化显示 void showMinimized() // 最小化显示 void showNormal() void update() QPushButton 提供 信号 void clicked(bool checked false) // 点击信号 void pressed() // 按钮按下信号 按下 void released() // 按钮释放信号抬起 void toggled(bool checked) // 触发开或关 自定义信号与槽 注意事项 1, 发送者和接收者都需要是 QObject 的子类当然槽函数是全局函数、 Lambda 表达 式等无需接收者的时候除外 2, 信号和槽函数返回值类型是 void 3, 信号只需要声明 , 不需要实现 4, 槽函数需要声明也需要实现 5, 槽函数是普通的成员函数作为成员函数会受到 public 、 private 、 protected 的影响 6, 使用 emit 在恰当的位置发送信号 ; 7, 使用 connect() 函数连接信号和槽。 8, 任何成员函数、 static 函数、全局函数和 Lambda 表达式都可以作为槽函数 9, 信号槽要求信号和槽的参数一致所谓一致是参数类型一致。 10, 如果信号和槽的参数不一致允许的情况是槽函数的参数可以比信号的少即便 如此槽函数存在的那些参数的顺序也必须和信号的前面几个一致起来。这是因为你 可以在槽函数中选择忽略信号传来的数据也就是槽函数的参数比信号的少。 案例 : 下课了 , 老师饿了 , 学生请吃饭 信号槽拓展 1,一个信号可以和多个槽相连         槽会一个接一个的被调用但是它们的调用顺序是不确定 示例 #include mainwindow.h #include ui_mainwindow.h #include QPushButton #include QDebug MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);QPushButton* btn new QPushButton(this);btn-setText(按钮);void (QPushButton:: *cli_p)(bool) QPushButton::clicked;connect(btn,cli_p,this,MainWindow::fun01);connect(btn,cli_p,this,MainWindow::fun02);connect(btn,cli_p,this,MainWindow::fun03); } MainWindow::~MainWindow() {delete ui; } void MainWindow::fun01() {qDebug() fun0111111 endl; } void MainWindow::fun02() {qDebug() fun0222222 endl; } void MainWindow::fun03() {qDebug() fun0333333 endl; } 2,多个信号可以连接到一个槽         只要任意一个信号发出这个槽就会被调用 示例 #include mainwindow.h #include ui_mainwindow.h #include QPushButton #include QDebug MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);QPushButton* btn1 new QPushButton(this);btn1-setText(按钮1);QPushButton* btn2 new QPushButton(this);btn2-setText(按钮2);btn2-move(0,50);void (QPushButton:: *cli_p)(bool) QPushButton::clicked;connect(btn1,cli_p,this,MainWindow::fun01);connect(btn2,cli_p,this,MainWindow::fun01); } MainWindow::~MainWindow() {delete ui; } void MainWindow::fun01() {qDebug() fun0111111 endl; } 3一个信号可以连接到另外的一个信号         当第一个信号发出时第二个信号被发出。除此之外这种信号- 信号的形式和信号 - 槽 的形式没有什么区别。 示例 #include mainwindow.h #include ui_mainwindow.h #include QPushButton #include QDebug MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);QPushButton* btn new QPushButton(this);btn-setText(按钮);void (QPushButton:: *cli_p)(bool) QPushButton::clicked;connect(btn,cli_p,this,MainWindow::mySignal);connect(this,MainWindow::mySignal,this,MainWindow::fun01); } MainWindow::~MainWindow() {delete ui; } void MainWindow::fun01() {qDebug() fun0111111 endl; } 4,信号槽可以断开         利用 disconnect 关键字是可以断开信号槽的 示例 #include mainwindow.h #include ui_mainwindow.h #include QPushButton #include QDebug MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);QPushButton* btn new QPushButton(this);btn-setText(按钮);void (QPushButton:: *cli_p)(bool) QPushButton::clicked;connect(btn,cli_p,this,MainWindow::fun01);//断开信号与槽的连接btn-disconnect(this); } MainWindow::~MainWindow() {delete ui; } void MainWindow::fun01() {qDebug() fun0111111 endl; } 5,槽可以被取消链接         这种情况并不经常出现因为当一个对象 delete 之后 Qt 自动取消所有连接到这个 对象上面的槽 6.使用lambda表达式         在使用 Qt 5 的时候能够支持 Qt 5 的编译器都是支持 Lambda 表达式的。 Lambda表达式 c11 提出 lambda 表达式 作用 : 简化代码 语法 [ 函数对象参数 ]( 操作符重载函数参数 ) mutable - 返回值 { 函数体 }         []:lambda表达式符号 , 可以啥都不写 , 不能省略         函数对象参数                 空 没有使用任何函数对象参数                  可以访问外部变量只能读                 a,b 能对lambda 外的 a,b 变量读操作                  lambda外的变量读写操作                 a,b 对外部的a 读 b 读写                 this 函数体内可以使用 Lambda 所在类中的成员变量 (): 形参列表 示例1:不使用外部变量 connect(btn03,QPushButton::clicked,[](){ qDebug() 疼 , 不闹 endl; }); 示例2.使用外部指定变量 int x100; connect(btn2, QPushButton::clicked, [x]() mutable{ // x 在函数内部是 const 修饰的除非去掉 const 加 mutable 关键字 x; qDebug() x endl; }); 示例3:同时传递多个变量或变量的引用 int x100; int y90; connect(btn2, QPushButton::clicked, [x, y]() mutable{ // x 在函数内部是 const 修饰的除非去掉 const 加 mutable 关键字 x; qDebug() x , y endl; });
http://www.pierceye.com/news/795357/

相关文章:

  • 网站举报有奖平台北京vi设计公司怎么样
  • Wix做的网站在国内打不开网站开发专业就业好不好
  • php语言做网站网站流量与带宽
  • 网站推广经验做网站职校选什么专业
  • 搜英文关键词网站凯里seo排名优化
  • 哪个网站可以帮忙做简历培训网网站源码
  • 万宁市住房和城乡建设局网站自助建站加盟
  • 创建一个网站需要什么wordpress 支付 api接口
  • 怎么样做免费网站建筑招工找活平台
  • 虚拟机中做网站家政服家政服务网站模板
  • 佛山企业网站建设流程网站开发 前端如何学习
  • 昆明好的网站开发公司宣传视频
  • 深圳网站设计公司网站建设 地址 上海石门二路
  • 广州大型网站建设公司广元网站建设价格
  • 国外做游戏的视频网站有哪些问题百度官网地址
  • wordpress主题外贸网站基础集团网站建设
  • 现货电子交易平台冬镜seo
  • 怎样进入当地建设局网站用py做网站
  • 做网站标配seoul是什么国家
  • 做网站注册哪些商标做网站建设销售
  • 创建网站有免费的吗大庆网络推广
  • 南昌p2p网站建设公司福州seo关键词排名
  • 导航网站链接怎么做建设网站的费用调研
  • 北京营销型网站定制网站开发 建设叫什么
  • 用ps做企业网站分辨率是多少钱百度竞价是什么
  • 九江市建设局官方网站网站支付开发
  • 福建建设银行官方网站开发一个大型网站需要多少钱
  • 电子商务建立网站前期准备网站做的不好使
  • 网站建设绵阳电影发布网站模板
  • 河北商城网站搭建多少钱金融 网站 源码