• 7718阅读
  • 5回复

新手请教LCD显示时间问题 [已解决] [复制链接]

上一主题 下一主题
离线yzpdsg
 

只看楼主 倒序阅读 楼主  发表于: 2010-05-19
我是用下面的函数来显示时间的,在mainwindow的构造函数中调用:

void MainWindow::showTime(QTimerEvent *event)
{
    QTime time = QTime::currentTime();
    QDate date = QDate::currentDate();
    ui->timeLCD->setNumDigits(8);
    ui->dateLCD->setNumDigits(10);
    QString text1 = time.toString();
    QString text2 = date.toString();
    ui->timeLCD->display(text1);
    ui->dateLCD->display(text2);
}

显示出来的时间是静止的,日期显示也不正确(  19 2010)。

那么,如何显示动态的时间呢?日期显示为什么会不正确呢?
[ 此帖被shiroki在2010-05-19 23:18重新编辑 ]
离线yangfanxing
只看该作者 1楼 发表于: 2010-05-19
QString text = time.toString("hh:mm");
参以上格式;

推荐:Qt4Demo:
http://doc.qt.nokia.com/4.6/widgets-digitalclock-digitalclock-cpp.html
PHPWind好恶心。。。不想看这种界面。。。
离线yzpdsg

只看该作者 2楼 发表于: 2010-05-19
谢谢回复!日期显示问题已经解决了,原来是yyyy-MM-dd。

正在解决时间刷新问题中。。。
离线yzpdsg

只看该作者 3楼 发表于: 2010-05-20
showTime()函数放在mainwindow的构造函数中有问题么?毕竟构造函数只调用一次.通过google,现在改用timeEvent()了

void MainWindow::timeEvent()//QTimerEvent* event)
{
    ui->timeLCD->setNumDigits(8);
    ui->dateLCD->setNumDigits(10);
    QDate dt = QDate::currentDate();
    QString dateStr = dt.toString("yyyy-MM-dd");
    QTime time = QTime::currentTime();
    QString timeStr = time.toString("hh:mm:ss");
    //QString dtstr = QString("%1-%2-%3 %4:%5:%6").arg(date.year()).arg(date.month()).arg(date.day()).arg(time.hour()).arg(time.minute()).arg(time.second());
    ui->timeLCD->display(timeStr);
    ui->dateLCD->display(dateStr);
    connect(timer,SIGNAL(timeout()),this,SLOT(chTime()));
    timer->start(1000);
}

时间都正确显示了,但是还是没有同步显示。我认为是 connect(timer,SIGNAL(timeout()),this,SLOT(chTime()));的问题。但是应该怎么修改呢?
离线banyibanyi

只看该作者 4楼 发表于: 2010-05-20
你用计时器刷新不行吗
离线yzpdsg

只看该作者 5楼 发表于: 2010-05-20
不行啊。。。我在输出信息中发现了这些内容:

Object::connect: No such signal QApplication::timeout() in mainwindow.cpp:53
Object::connect:  (sender name:   'DBProject')
Object::connect:  (receiver name: 'MainWindow')
QEventDispatcherWin32::unregisterTimer: invalid argument

我查了一下,timeout()是QTime类的函数。
[ 此帖被yzpdsg在2010-05-20 14:07重新编辑 ]
快速回复
限100 字节
 
上一个 下一个