这个简单,你给combox定义一个触发事件,就是当comBox产生下拉的时候,自动条用QCalendar控件 就是下面的那个日历表,然后使用QCalendar的函数获取当前时间,然后作为String传递给ComBox,当然,你的ComBox要设置成Editable就是可编辑的。
谢谢,有疑问再补充
帮你写好了!
希望你采纳!
谢谢
Qt中定时器用于间隔一段时间执行一次 *** 作,循环执行,直至定时器停止或被杀死。有两种使用方法, QObject类 与 QTimer类 。个人比较习惯使用QTimer类,信号与槽方式比较简洁灵活。
方法一:QObject中的定时器的使用,需要用到三个函数
1、int QObject::startTimer ( int interval ) ; //开启定时器,执行周期为interval毫秒。
此函数开启成功后,返回这个定时器的ID,并每隔interval毫秒时间进入一次timeEvent函数,直至定时器停止或被杀死。
2、void QObject::timeEvent ( QTimerEvent event ) ; //需重写timeEvent函数,相关 *** 作在此函数中执行。
当定时器超时后会进入此函数,可以通过event->timerId()来确定当前执行的定时器是哪个。
3、void QObject::killTimer ( int id ); //杀死目的id号的定时器,停止循环。
示例:
方法二:使用QTimer类(信号与槽)
1、创建QTimer类对象,
QTimer m_timer= new QTimer ( this ) ;
2、连接信号与槽,定时器超时后会发出 timeout () 信号,超时时执行槽函数 mySlot()
connect ( timer , SIGNAL ( timeout()) , this ,SLOT( mySlot()) );
3、开启定时器,周期为msec毫秒
timer->start( msec );
1设置好下面timeEdit的值,然后定义一个每隔一秒便触发的定时器
QTimer timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(update()));
timer->start(1000);
2在函数update中通过QTime::currentTime()获取系统当前时间,并改变上面timeEdit中的值为当前时间,同时获取下面那个timeEdit中的值,如果两个值相等发送一个信号emit timeEqualSignal()
3连接时间相等信号和槽函数connect(this,SIGNAL(timeEqualSignal()),this,SLOT(slotTimeEqual())),在slotTimeEqual()这个函数中do somethings。
QFilefile("texttxt");if(!fileopen(QIODevice::ReadOnly)){qDebug("cannotopen!");return;}else{QTextStreamin(&file);QStringtext=inreadAll();ui->textEdit->setText(text);}这只是个简单的测试程序,要是实际使用还要考虑很多情况!
这个不知道有什么现成的函数,只能自己算,先算出闰年有几个,再算出总天数,再乘以246060。至于你提到的随机数,跟这个问题不搭边。ps:期间有几次特殊情况,全世界把时间调快或调慢几秒钟,你应该知道的把,上网搜搜。
你那样不行时间是不停的走的,你只执行一次当然只显示点击按钮的时间了搞一个QTimeQTime不停的记时1s,1s到了执行某个槽在槽里执行dateTimeEditFrom->setDateTime(QTime::currentDateTime());这样就没问题了
以上就是关于Qt 在Combobox 要实现下图功能选取时间怎么做全部的内容,包括:Qt 在Combobox 要实现下图功能选取时间怎么做、Qt中定时器的两种使用方法(QObject类与QTimer类)、我想用qt做个定时的,上面的显示系统时间按,下面的用来定时,当时间相等时,触发一件事情等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)