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

建设集团网站方案无锡公共建设中心网站

建设集团网站方案,无锡公共建设中心网站,做旅游网站都需要的调查,河北最近发生了什么事今天概览 今天的目标是写一个动态的彩虹灯 一开始是有思路的。只是写的过程中有太多小bug了#xff0c;真的是防不胜防 我的思路是#xff1a; 主界面是一个开始界面#xff0c;点击开始按钮之后#xff0c;有一个子界面出现#xff0c;显示出彩虹灯转动的效果。 内部的执…今天概览 今天的目标是写一个动态的彩虹灯 一开始是有思路的。只是写的过程中有太多小bug了真的是防不胜防 我的思路是 主界面是一个开始界面点击开始按钮之后有一个子界面出现显示出彩虹灯转动的效果。 内部的执行逻辑是 创建一个名为开始的Pushbutton在用户点击了pushbutton的时候使用connect函数来发信号到槽当中执行槽函数在这个槽函数中 为一个子窗口申请内存使用show函数。 这样程序就进入到了这个子窗口的构造函数中构造函数中初始化了一个存放七个颜色的Label数组分别代表彩虹的七种颜色。然后分别初始化这七个元素使用布局将这七个颜色放到一起目的是可以达到七个颜色一起滚动的效果,然后在为定时器分配完内存之后就可以在槽函数中设置重复动作了因为我当时设置的是向上滚动事实证明这的确是最省力的hhhh然后使用一个计数器每次执行一次函数就自增1然后对这个计数器模6取余这样就可以使用数组下标对布局中的Label进行设置了.如何设置呢使用下标首先移除布局中的对应下标之后再执行add操作因为往布局中添加组件QT是默认往下添加的。所以这就不需要再指定插入到哪个位置了。 上面说的这个计数器一定得是静态的否则就需要定义在函数外面作为一个全局函数使用。说到这个我就想起上上周电话面试的时候 面试官全局变量在C中是如何定义的 我放在main函数外面就是全局变量了 面试官嗯还有呢放在函数里面呢 我嗯额额额staticfinal 沉默。。。 面试官好了C部分我就不提问了嗯我看一下估计当时是在看我的简历…好那我提问一下关于计算机网络的问题巴拉巴拉巴拉。。。。 哎现在想起来真是尴尬的要命了。。。 对了今天做彩虹灯的主要目的就是熟悉计时器忘记说了我个人觉得QT里面的定时器和linux里面的定时器挺像的。 反正最后也是做出来了我自己感觉是挺好看的。滚动的 ![在这里插入图片描述](https://img-blog.csdnimg.cn/05f621cfa0f24459b6263138e0e1e54b.gif 720x300#pic_center) 关于定时器的槽函数 忘记了计时器的槽函数是一个重复执行的函数。也因为这样我以为槽函数就直接是一个函数里面重复处理同一个流程不过现在明白过来了也觉得为什么要专门创造一个定时器就是因为定时器槽函数的作用就是让这个槽函数在定时器的作用下自己重复执行要不然和自己设置一个可以循环的函数有什么区别呢 qt的定时器和linux里的定时器 Qt中的定时器和Linux中的定时器有一些区别。 首先Qt中的定时器是基于事件循环Event Loop机制实现的而Linux中的定时器通常是基于系统调用和信号机制。在Qt中我们可以使用定时器类QTimer来设置定时器并将相应的事件如定时器超时事件添加到事件队列中等待处理。而在Linux中我们通常使用系统调用timer_create()或setitimer()来创建定时器或者使用信号SIGALRM来处理定时器超时事件。 其次Qt中的定时器可以在不同的线程中使用而Linux中的定时器通常只能在单个进程中使用。在Qt中我们可以通过设置QObject::moveToThread()函数将某个对象移动到另一个线程中并在该线程中启动定时器从而实现在多个线程中同时使用定时器。而在Linux中由于进程之间的资源隔离性不同进程之间的定时器无法互相访问和共享。 最后Qt中的定时器还提供了一些方便的功能如单次定时器、重复定时器、定时器延迟启动、定时器暂停/恢复等使得开发者可以更加灵活地控制定时器的行为。而在Linux中需要自己手动实现这些功能增加了开发难度和工作量。 总之Qt中的定时器是一种高级抽象提供了更加简单、易用、灵活的定时器机制便于开发者编写高质量的应用程序。而Linux中的定时器则更加底层需要开发者自己处理复杂的系统调用和信号机制适合编写更底层的系统程序和驱动程序。 Qt中的定时器和Linux中的定时器之间也有一些相同点。其中最重要的一个相同点就是它们都可以用于处理定时事件。 定时器在计算机领域中广泛应用例如实现延时操作、周期性任务调度、实时数据采集等。Qt中的定时器和Linux中的定时器都可以满足这些需求具有相似的功能和表现形式。 另外Qt中的定时器和Linux中的定时器都是基于系统底层硬件或操作系统内核提供的计时器实现的在CPU时钟周期内部使用计数器来计量时间间隔从而精确地计算出定时器超时事件。 总之虽然Qt中的定时器和Linux中的定时器在实现方式和功能特性上存在差异但它们的共同点在于都能够为程序提供高效、精确的定时服务帮助开发者实现各种定时相关的功能和应用场景。 在继承QMainWindow需要注意的事项 因为在使用子窗口的时候我的想法是直接在主窗口中出现彩虹灯按照想法写出来之后看了又看的确是没问题但是就是显示说已经有另一个布局覆盖了整个窗口了没办法使用另外一个窗口 然后我就这个查这个问题查了一个小时最后终于找到答案因为我的子窗口继承的QMainWindow但是QMainWindow这个类是默认创建了一个布局的所以没有办法再使用子布局了。 给一个gpt的回答 据说继承QMainWindow的一个控件会隐式创建一个布局有可能导致之后继承这个控件的窗口无法显示是这样吗 不完全是这样。 确实继承自 QMainWindow 的控件如 QMainWindow、QDialog 等会隐式创建一个布局并将其设置为自身的布局。这个布局被称为 central widget 布局它对插入到其中的所有子控件进行管理以便正确地显示它们。 但是这并不会导致之后继承这个控件的窗口无法显示。如果您继承了 QMainWindow 或 QDialog而子类中的窗口无法显示那么通常有其他原因导致的例如 没有将子控件添加到布局中如果您没有将子控件添加到 central widget 布局中则子控件将不会显示。您需要使用 setCentralWidget() 函数将子控件设置为 QMainWindow 的中央窗口部件。 子控件的大小超过了父控件的大小如果子控件的大小超过了父控件的大小它将被裁剪只显示可见部分。确保子控件的大小不超过父控件的大小。 子控件的属性设置不正确如果您在创建子控件时没有正确设置其属性例如不合适的大小策略或伸缩性质它可能无法正确地显示。 其他布局管理问题如果您在布局管理中存在问题例如布局类型设置不正确或缺少必要的约束条件它也可能导致子控件无法显示。 因此如果您在使用 QMainWindow 或 QDialog 时遇到了问题请仔细检查代码中是否存在上述问题并进行相应的修正。 所以说在这种时候如果要创建一个在这个控件中的布局就需要明确的使用centralWidget设置这个布局是吗 是的如果您想要在 QMainWindow 或 QDialog 中创建一个子控件布局您需要将该布局设置为 central widget 的布局。 在 QMainWindow 类中setCentralWidget() 函数用于设置 central widget该函数接受一个 QWidget 参数。您可以将一个包含子控件的 QWidget 作为参数传递给这个函数从而将子控件添加到中心窗口部件中。 关于handler和槽函数 另外之前看有人说QT里面的信号和槽与linux里面的handler回调函数不相同。 但是实际上我觉得他们的本质是相同的都是在运行时如果遇到了放置在相应位置上的函数指针那么程序流程就转换到函数指针指向的函数中执行完之后再返回继续执行主程序。但是与handler不同的是信号和槽机制是使用connect连接信号和槽在connect中发出信号之后相当于是广播给了消息队列中所有的槽函数如果槽函数的名字或什么标志可能是看这个槽函数的父窗口/控件和connect相对应那么就执行这个槽函数。主要的不同就是qt有内置的消息队列也就是事件循环而且这个消息队列可以开发者自己设置优先级。 这里再贴一个关于事件循环的gpt的回答 是的Qt内置了消息队列Message Queue也称为事件循环Event Loop用于处理应用程序接收到的各种事件如鼠标点击、键盘输入、定时器等事件。 在Qt中事件循环是由QCoreApplication或QApplication类的exec()函数所实现的。当运行应用程序时Qt会自动创建一个主线程并在主线程中启动一个事件循环用于接收和处理事件。当应用程序接收到事件时例如鼠标点击事件Qt会将该事件封装成一个QEvent对象并将其添加到事件队列中。事件循环会不断地从事件队列中取出事件并将其分发给相应的对象处理。如果没有任何事件需要处理事件循环会一直等待直至有新事件加入事件队列。 通过事件循环Qt可以方便地实现多线程程序、异步编程以及优化应用程序的性能和响应速度等。 同时在事件循环中Qt还提供了一些方便的函数如postEvent()、sendEvent()、processEvents()等允许开发者手动向事件队列中添加事件、立即处理事件或者强制事件循环执行一定时间的事件处理等。 总之Qt内置的消息队列和事件循环是Qt架构的重要部分使得Qt应用程序能够优雅地处理各种事件保证了应用程序的稳定性和可靠性。 另外 晚上又运行了一遍彩虹灯发现在我电脑上运行竟然发生了频闪我觉得可能是我自己电脑的问题 剩下的想起来再写吧 今天实在是太充实了不过没做学校布置的大作业哎晚上回去又要加班了
http://www.dnsts.com.cn/news/46933.html

相关文章:

  • 建网站基础知识成品网站源码1
  • 做唯品客网站的感想流量套餐汇总网站
  • 四川网站建设制作网站搭建需要多少钱
  • 网站的发展前景购物网站功能详细介绍
  • 网站认证怎么做服务周到的上海网站建设公
  • 国外的app设计网站石龙网站开发
  • 番禺区手机版网站建设宁德市住房和城乡建设局
  • 淘宝客推广网站建设wordpress静态文件目录
  • 通过网站提升公司形象做盗市相关网站
  • 网络服务商网站360免费建站空间
  • 做兼职最好的网站php开源建站系统
  • 南宁网上房地产官网seo顾问是什么职业
  • 怎样用手机搭建网站杏林建设网站
  • 深圳网站制作搜行者seoh5页面制作网站官网
  • 内蒙古住房和城乡建设部网站福州搜索优化技术
  • 个人做网站有什么坏处建站网哪个好
  • 张家口购物网站开发设计移动端网页
  • clouder认证考试网站建设vs2008做html5网站
  • 做网站360好还是百度好安陆网站
  • 钟祥网站制作梅州网
  • p网站建设寿光做网站的
  • 网站建设直播国外推广怎么做
  • 网站优化销售话术网络营销销售
  • 局域网及网站建设内容微网站开发协议
  • 网站开发 男生做结婚视频储存网站
  • 医院网站建设水平郑州云拓网站建设公司
  • 怎么查那家网络公司做的所以网站鞍山玉佛苑导游词
  • php网站建设教程 电子书多语言外贸网站开发
  • 做网站开发绍兴网站seo
  • 国外优秀平面设计网站自定义网站模块