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

泰州网站开发公司濮阳网站推广

泰州网站开发公司,濮阳网站推广,中国互联网协会官网平台,福州网页设计培训学习第一天#xff1a;2024-3-9 文章目录 Qt creator 快捷键帮助文档默认生成的main.cpp逐行解释核心类帮助文档的查阅方法-①代码创建按钮第一个第二个对窗口的其他设置 对象树窗口坐标系信号和槽#xff08;优点#xff1a;松散耦合#xff09;帮助文档的查阅方法-②找信…学习第一天2024-3-9 文章目录 Qt creator 快捷键帮助文档默认生成的main.cpp逐行解释核心类帮助文档的查阅方法-①代码创建按钮第一个第二个对窗口的其他设置 对象树窗口坐标系信号和槽优点松散耦合帮助文档的查阅方法-②找信号函数的方法找槽函数的方法 自定义信号和槽 lambda表达式练习MenuTool Qt creator 快捷键 运行ctrlr 帮助文档F1 退出文档ESC 自动对齐ctrli 帮助文档 默认生成的main.cpp逐行解释 核心类 QObject 万类之祖 帮助文档的查阅方法-① 打开assistant.exe左侧点索引输入QPushButton看到右侧显示如下内容。Header是头文件qmake是在.pro文件中应该加入的内容Inherits是该类继承自谁即父类Inherited by是该类的子类。 代码创建按钮 第一个 新建一个QWidget项目起名为btxl。在btxl.cpp中加入头文件QPushButton,btxl类构造函数中加入以下内容 btxl::btxl(QWidget *parent): QWidget(parent) {QPushButton * bt new QPushButon; }这样就创建了一个按钮但是ctrlr运行不显示这个按钮why 你想起了main.cpp中btxl类实例化的w是要通过show函数来显示的,并且QPushButton的父类的父类就是QWidget于是做出如下修改 btxl::btxl(QWidget *parent): QWidget(parent) {QPushButton * bt new QPushButon;bt-show(); }这下好了运行后出现两个窗口。你想不不不按钮是要在页面上的。 正确写法 btxl::btxl(QWidget *parent): QWidget(parent) {QPushButton * bt new QPushButon;//bt-show();bt-setParent(this); }setParent相当于设置了一个层级关系类似于unity的hierarchy 你还想给这个按钮上写点文字 btxl::btxl(QWidget *parent): QWidget(parent) {QPushButton * bt new QPushButon;//bt-show();bt-setParent(this);bt-setText(hahaha); }第二个 这样窗口就很小。 对窗口的其他设置 对象树 只要new出来的对象设置了parent方法为setParent就能加到对象树中关掉窗口后自动析构无需手动free。这样一定程度上简化了内存回收机制。但请注意仅仅从QObject派生是无法自动析构的必须要setParent。 【测试一】 myButton类派生自QPushButton析构函数输出一句话“myButton析构”。在关掉按钮的小窗口时并没有析构。 myButton *mbtn new myButton();mbtn-show();【测试二】 myButton类派生自QPushButton析构函数输出一句话“myButton析构”。在关掉按钮的小窗口时显示析构。 myButton *mbtn new myButton();mbtn-setParent(this);【测试三】 Student类和Score类派生自QObject(万类之祖)。对象s设置了parent而对象xiaoming没有设置parent。关闭窗口时显示s析构而xiaoming未析构。 //创建对象xiaoming new Student;s new Score;s-setParent(this);窗口坐标系 信号和槽优点松散耦合 需求点一个按钮关闭窗口。翻译一下就是按钮被点击导致窗口被关闭。这句话加粗的四个部分就是connect的四个参数。具体的 参数1信号发送者 参数2发送的信号函数地址 参数3信号接收者 参数4对信号进行的反应函数称为槽函数slots也传函数地址 信号函数和槽函数的查找就需要帮助文档了。 帮助文档的查阅方法-② 找信号函数的方法 信号的发送者是bt类型是QPushButton。查找 在页面中找signal字样。 发现QPushButton的信号函数就是从祖先那继承来的。 点开第一个是它的直接父类QAbstractButton。clicked就是我们要找的。 找槽函数的方法 信号的接收者是本页面类型是btxl继承自QWidget。 右侧第五个Public Slots就是槽函数。 点开 我们需要的是第一个click() 综上实现方法是下面这句话 connect(bt, QPushButton::clicked, this, btxl::close); 或 connect(bt, QPushButton::clicked, this, QWidget::close);自定义信号和槽 注意先连接发送信号者再发出信号。 自定义的信号写在signals下信号只需要声明不需要实现 自定义的槽写在public slots下槽需要声明也需要实现 触发信号的关键字emit lambda表达式 lambda表达式是c的语法糖所谓语法糖就是复杂语法的等价简化写法。定义匿名函数无需函数名。 最常见的用法是[](){}例如 btxl::btxl(QWidget *parent): QWidget(parent) {QPushButton * bt2 new QPushButton(点我, this);connect(bt2, QPushButton::clicked, this, [](){ //第三个参数可省略默认是thisbt2-setText(已经点过啦);});}lambda表达式作为槽函数时可以使一句connect连接多个槽函数。例如 btxl::btxl(QWidget *parent): QWidget(parent) {//创建对象xiaoming new Student;s new Score;QPushButton * bt new QPushButton(x, this);connect(bt, QPushButton::clicked, this, [](){this-close();emit xiaoming-goodStudy(); //emit可省});connect(xiaoming, Student::goodStudy, s, Score::highScore);}练习 窗口上有一个按钮按一下打开一个新窗口再按一下关闭新窗口。 #include btxl.h #include QPushButtonbtxl::btxl(QWidget *parent): QWidget(parent) {int stat 0;QWidget *newpage new QWidget;QPushButton * bt new QPushButton(打开新窗口, this);bt-resize(100,50); //按钮的大小connect(bt, QPushButton::clicked, this, [, stat](){if (stat 1){newpage-close();bt-setText(打开新窗口);stat 0;}else{newpage-show();bt-setText(关闭新窗口);stat 1;}qDebug() stat;}); }btxl::~btxl() {}Menu ui-setupUi(this);resize(600, 400);QMenuBar *bar menuBar();setMenuBar(bar);QMenu * fileMenu bar-addMenu(文件);fileMenu-addAction(新建);fileMenu-addSeparator();fileMenu-addAction(打开);QMenu * editMenu bar-addMenu(编辑);editMenu-addAction(查找);Tool
http://www.zqtcl.cn/news/420362/

相关文章:

  • 西安维护网站广州公司网站设计制作
  • 荆门做网站网络推广公司多久能回本
  • 搜索网站存在的关键字室内设计公司排名榜
  • 响应式网页开发昆明网站排名优化公司哪家好
  • 如东建设局网站线上购物平台
  • 重庆网站推广营销淘宝的网站怎么做的好
  • 重庆企业建站模板珠海企业官网设计制作
  • 网页作图软件东莞优化哪家好
  • 专业的商城网站开发深圳网站界面设计
  • 做网站需要自备服务器吗专业生产车间设计图纸网站
  • 用vs2010做网站教程昆明模板建站定制网站
  • dedecms网站模板下载做网站价格需要多少钱
  • 昆明餐饮网站建设建电影网站教程
  • 怎么做服装网站wordpress 主题 三栏
  • 个人可否建立网站全包装修
  • 哈尔滨网站建设贴吧网站建设推广好做吗
  • 南宁网站建设排名制作网站的公司做网站去哪里找
  • 网站开发外贸材料信息价查询网站
  • 推荐几个好的seo网站程序模板WordPress博客建站系统
  • 手机网站建设推广方案ppt模板wordpress文章阅读统计
  • 自己可以接单做网站吗建设项目所在地公共媒体网站
  • 哈尔滨网站制作哪儿好薇学校网站首页代码html
  • 网站建设与设计 毕业设计企业自助网站建设
  • ip库网站源码佛山网站开发公司
  • 婚庆网站怎么设计模板电子商务系统规划方案
  • 东莞中企动力做网站wordpress结合tornado
  • 用织梦做手机移动版网站邯郸网站建设品牌加盟
  • 网站做简历模板动漫设计专业就业方向
  • 沧州市东光建设局 网站电商网站目录优化
  • 公司网站建设案例教程wordpress word文档