Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用连续循环和按钮的编程问题?

使用连续循环和按钮的编程问题?
EN

Stack Overflow用户
提问于 2011-02-26 20:03:36
回答 2查看 423关注 0票数 0

我必须设计一个使用主循环来跟踪时间并执行连续检查的程序。我还有一个gui系统,可以改变系统中的东西。问题是:

如果我运行一个直到系统退出才停止的连续循环,用户是否能够与我设置的GUI进行交互,或者该循环是否必须停止运行才能产生按下按钮的效果?换句话说,每次用户与GUI交互时,我是否必须暂停循环,运行按钮命令,然后重新启动循环?如果是这样的话,有没有办法解决这个问题呢?感谢所有回答问题的人

EN

回答 2

Stack Overflow用户

发布于 2011-02-26 20:16:16

由于您没有说明您的平台,因此我将对我的回复进行泛化。

您可以使用两种模式:轮询或中断/事件驱动。

轮询

轮询包括频繁地检查信号量或标志,以查看是否发生了什么。这在嵌入式系统中很常见。后台循环,直到中断设置标志,然后处理事件。

中断/事件驱动。

在此模式中,函数在事件发生时执行。例如,当用户点击按钮时,可以执行功能。

在桌面平台(Mac、Linux、Windows等)上,您的情况可以通过使用多线程(执行)来解决。通常,GUI操作在一个线程上,而主处理在另一个线程上。这使程序在单击按钮时不会冻结GUI。

在我的应用程序中,GUI在用户单击按钮时设置一个事件。处理线程等待(休眠、挂起)该事件。用户单击该按钮,事件即被设置。处理线程唤醒并继续。

票数 2
EN

Stack Overflow用户

发布于 2011-02-26 20:09:56

看起来你正试图在Windows中进行类似于DOS的编程,但情况正好相反。您应该阅读一些关于事件驱动编程的内容。你的应用程序中不应该有任何主循环。所有的交互都应该通过事件来完成。当用户按下按钮时-一个事件被触发。您应该创建一个定时器来执行执行必要检查的方法,而不是您所描述的循环。

希望这能帮上点忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5129406

复制
相关文章
最大连续子序列和问题
版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/82315888
zy010101
2019/05/25
2.1K0
一个简单的问题:什么是连续网络和不连续网络?
有类网络的每对子网之间传输的数据包只通过同类型网络的子网,不通过其他类型网络的子网。
网络技术联盟站
2023/03/05
8370
一个简单的问题:什么是连续网络和不连续网络?
Flutter的文本、图片和按钮使用
像视图数据流转机制、底层渲染方案、视图更新策略等知识,都是构成一个UI框架的根本,看似枯燥,却往往具有最长久的生命力。
JavaEdge
2023/07/09
6110
Flutter的文本、图片和按钮使用
JavaScript 使用 for 循环时出现的问题
有一些项目组在定位问题的时候发现,在使用 “for(x in array)” 这样的写法的时候,在 IE 浏览器下,x 出现了非预期的值。
四火
2022/07/15
4K0
JavaScript 使用 for 循环时出现的问题
连续打印问题的解决
主要是纸张的高度无法控制! 情况如下:     打印一个窄行的自定义单据,通过设置自定义纸张,可以控制打印机每次严格按照自定义的大小进行打印只打单张的情况下,没有问题。     但是,如果要打多张,页面显示就不正常,即页面并不按照自定义的纸张来显示。所以必须修改纸张,但水晶报表修改纸张很难,有人实现了,还得在vs2005下。 http://www.cnblogs.com/LzmTW/archive/2006/01/19/320338.html 相关http://sharkoo.cnblogs.com/art
用户1075292
2018/01/23
1.2K0
按钮长按循环触发小例子
  设置下列QPushButton的函数后,将启用并到达一定时间后自动重复触发。期间将发出pressed(),released()和clicked()信号。
Qt君
2020/06/01
8380
Java 编程问题:三、使用日期和时间
本章包括 20 个涉及日期和时间的问题。这些问题通过Date、Calendar、LocalDate、LocalTime、LocalDateTime、ZoneDateTime、OffsetDateTime、OffsetTime、Instant等涵盖了广泛的主题(转换、格式化、加减、定义时段/持续时间、计算等)。到本章结束时,您将在确定日期和时间方面没有问题,同时符合您的应用的需要。本章介绍的基本问题将非常有助于了解日期-时间 API 的整体情况,并将像拼图中需要拼凑起来的部分一样解决涉及日期和时间的复杂挑战。
ApacheCN_飞龙
2022/07/11
5.5K0
Hive求连续几天的问题
分析:也就是说,我们想要知道,在某一个人的消费时间里,他有没有连续两天的消费记录。
阿年、嗯啊
2022/08/18
7280
Hive求连续几天的问题
软件测试|最全的Python for循环和while循环使用介绍
循环简单来说就是让一段代码按你想要的方式多次运行。软件拥有强大的运算能力,就是由循环提供的。
霍格沃兹测试开发Muller老师
2023/02/07
1.4K0
[GoogleInterview]连续子序列问题
本文为 Clouder 原创文章,原文链接为 https://www.codein.icu/gci-subarray/,转载时请将本段放在文章开头显眼处。如进行了二次创作,请明确标明。
Clouder0
2022/09/23
6800
[GoogleInterview]连续子序列问题
Ant Design 按钮和图标的使用
同样的方法继续点击 “button”,就能一层一层看到具体是怎么写的。如果想深入了解可以看一看。
用户4793865
2023/02/03
2.5K0
viewpager循环滚动和自动轮播的问题
ViewPager是一个常用的android组件,不过通常我们使用ViewPager的时候不能实现左右无限循环滑动,在滑到边界的时候会看到一个不能翻页的动画,可能影响用户体验。此外,某些区域性的ViewPager(例如展示广告或者公告之类的ViewPager),可能需要自动轮播的效果,即用户在不用滑动的情况下就能够看到其他页面的信息。 为此我查阅了网络上现有的一些关于实现这样效果的例子,但都不是很满意,经过反复实验,在这里总结并分享给大家,希望能有所帮助。 循环滑动效果的实现:PagerAdapter
xiangzhihong
2018/02/01
3.5K1
QT应用编程: 使用QEventLoop实现事件循环
QEventLoop类提供了一种进入和离开事件循环的方法。 在任何时候,你都可以创建一个QEventLoop对象并对其调用exec(),以启动本地事件循环,在事件循环中,调用exit()将强制exec()返回。另请参见QAbstractEventDispatcher。
DS小龙哥
2022/01/07
2.7K0
QT应用编程: 使用QEventLoop实现事件循环
fastjson 重复引用和循环引用问题
数据传输使用json格式再方便不过了。 fastjson 由阿里巴巴那伙人使用Java语言编写,号称最快的JSON库 前两天遇到一个问题 后台的数据转化为json字符串后发送到前台出现了$ref字样的东西,后来明白了这是引用,在传输的数据中出现相同的对象时,fastjson默认开启引用检测将相同的对象写成引用的形式. 说到引用分为两种,重复引用和循环引用
Mshu
2018/10/31
2.6K0
Dart 异步编程之 Isolate 和事件循环。
尽管 Dart 是个单线程任务,但它提供 Future、Stream、后台任务以及其他特性用于编写现代异步程序以及响应式程序(Flutter)。本文讲的是 Dart 后台任务的基础:Isolate 和事件循环。
徐建国
2021/08/12
1.5K0
iOS 按钮连续点击 最后才一次提交
@interface ViewController () @property (nonatomic, strong) NSTimer *timer;//定时器 @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIButton *btn = [[UIButton alloc]init]; [btn setTitle:@"连续点击按钮" forState:UIControlStat
赵哥窟
2018/12/12
1.2K0
关于连续登录的问题探究
经常会在数据统计中取筛选连续性的数据,比如筛选连续三个月都登录的用户, 数据形式如下: 1 111 222 333 2 111 3 111 222 4 111 444 大体的意思就是1 2 3 4代表月份1,2,3,4 111,222,333,444代表用户 1 111 222 333 代表一月份用户111 222 333登录了。 以此类推 如果要查找连续三个月登录的用户,我把数据结构进行了改进 1 111 1 222 1 333 2 111 3 111 3 222 4 111 4 444 这样就更符
jeanron100
2018/03/13
8490
switch语句和for循环的认识与使用
1)表达式数据类型,应和 case 后的常量类型一致或者hi可以自动转成互相比较的类型,比如输入的是字符,而常量是 int
zxmttkx
2022/12/02
1.4K0
解决Python中的循环引用和内存泄漏问题
在Python编程中,循环引用和内存泄漏是两个常见的问题。本文将详细介绍如何识别和解决这些问题,并提供详细的代码示例。
华科云商小徐
2023/08/29
1.1K0
点击加载更多

相似问题

循环编程标签和按钮

11

问题和单选按钮循环

36

使用div和jquery的连续循环

20

使用循环进行模式编程的问题

34

C编程中的结构和循环问题

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文