个人觉得定时器在GUI控件(CHECK方面)获取STATUS较好

其实我就搞不懂了,同样是在一个线程里面,为何定时器中断检测要比每次循环自检要来的靠谱?今天在Qt的Q-Label里面算是见识到了

可能涉及到具体的底层原理(不明觉厉),只是今天测试GUI程序的时候突然很卡(Q-Label显示层面),查了一上午问题才知道是控件检测问题(只有一行代码差异,竟如此之大)

def CHECK_RATIO_BUTTON_INIT(self):
    self.MODE_CHECK.addButton(self.CAISEXIANSHI, 0)
    self.MODE_CHECK.addButton(self.HUIDUXIANSHI, 1)
    # self.MODE_CHECK.setId(self.CAISEXIANSHI, 0)
    self.CAISEXIANSHI.setChecked(True)

def CHECK_RATIO_BUTTON_RESPONSE(self):
    if self.MODE_CHECK.checkedId() == 0:
        self.flag_check_id_ratio_button = 0
    else:
        self.flag_check_id_ratio_button = 1

def RATIO_TIMER_CHECK(self):
    self.TIMER_FOR_RATIO_CHECK.timeout.connect(self.RATIO_TIMER_INTER)
    self.TIMER_FOR_RATIO_CHECK.start(5)

def RATIO_TIMER_INTER(self):
    self.CHECK_RATIO_BUTTON_RESPONSE()

配合全局标志位,进行控件的选中OR内容自检等比较靠谱,如果在单线程里面塞入太多的检测代码,程序可能会非常卡顿

关于浮点数:

之前没注意,昨天修代码的时候突然给我整了一个措手不稽,double双转换竟然拖慢程序达到十几倍乃至几十倍(25帧每秒下降到3帧每秒

感觉一旦考虑到程序优化和效率问题(虽然平时写代码没觉得,但是处理数据量上来的时候会很麻烦),鲁棒性时间空间复杂度都要考虑,没有软工的加持感觉不行,好在当年辅修了50多个学分,妙啊!

发表评论

电子邮件地址不会被公开。 必填项已用*标注