QTime

QTime的currentTime()函数用于获取当前的系统时间。
QTime的toString()函数用于将获取的当前时间转换为字符串类型。
toString函数指定转换后时间的显示格式,例如:
hh:mm:ss A //A表示PM,AP表示AM,Ap表示am,a表示pm
QTime的toString()函数也可直接利用Qt::DateFormat作为参数指定时间显示的格式,如Qt::TextDate,Qt::ISODate.Qt::LocaleDate等。

//构建一个小的电子时钟
//设置时钟背景
bool showColon=true;//showColon控制电子钟时分之间的闪烁。
QPalette p=palette();
p.setColor(QPalette::Window,Qt::blue);
setPalette(p);
setWindowFlags(Qt::FramelessWindowHint);//设置是一个没有面板边框和标题栏的窗体
setWindowOpacity(0.5);//设置窗体透明度
//新建一个定时器
QTimer *timer=new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(showTime()));
timer->start(1000);
showTime();
resize(150,60);//设置窗体显示尺寸

void showTime()
{
QTime time=QTime::currentTime();
QString text=time.toString("hh:mm");
if(showColon)
{
text[2]=':';
showColon=false;
}
else
{
text[2]=' ';
showColon=true;
}
display(text);//显示转换好的字符串时间。
}

QTimer类提供了定时器信号和单触发定时器。
QTimer类把它的timeout()函数连接到指定的槽,使用start()来开始,这段时间过去了他会发射timeout()信号

可以添加mousePressEvent和mouseMoveEvent来拖拽时钟。

QPoint dragPosition;
void mousePressEvent(QMouseEvent*event)
{
if(event->button()==Qt::LeftButton)
{
dragPosition=event->globalPos()-frameGeometry().topLeft();
event->accept();
}
if(event->button()==Qt::RightButton)
{
close();
}
}
void mousePressEvent(QMouseEvent*event)
{
if(event->buttons()&Qt::LeftButton)
{
move(event->globalpos()-dragPosition);
event->accept();
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的C++应用程序开发框架,它提供了丰富的类库和工具,可以用于开发图形界面应用程序、网络应用程序、数据库应用程序等。QTime是Qt中的一个类,用于处理时间相关的操作。 QTime类提供了一些方法来获取和操作时间,包括获取当前时间、设置时间、计算时间差等。下面是一些常用的QTime类的方法: 1. `QTime::currentTime()`:获取当前时间。 2. `QTime::setHMS(int hour, int minute, int second)`:设置时间的小时、分钟和秒。 3. `QTime::hour()`、`QTime::minute()`、`QTime::second()`:获取时间的小时、分钟和秒。 4. `QTime::addSecs(int seconds)`:增加指定的秒数。 5. `QTime::secsTo(const QTime &time)`:计算当前时间与指定时间之间的秒数差。 6. `QTime::toString(const QString &format)`:将时间转换为字符串,可以指定格式。 以下是一个使用QTime的示例代码: ```cpp #include <QCoreApplication> #include <QDebug> #include <QTime> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 获取当前时间 QTime currentTime = QTime::currentTime(); qDebug() << "Current time: " << currentTime.toString("hh:mm:ss"); // 设置时间为12:30:45 QTime customTime; customTime.setHMS(12, 30, 45); qDebug() << "Custom time: " << customTime.toString("hh:mm:ss"); // 增加10秒 customTime = customTime.addSecs(10); qDebug() << "Custom time after adding 10 seconds: " << customTime.toString("hh:mm:ss"); // 计算时间差 int secondsDiff = currentTime.secsTo(customTime); qDebug() << "Seconds difference: " << secondsDiff; return a.exec(); } ``` 运行以上代码,你将会看到输出的当前时间、设置的自定义时间、增加秒数后的时间以及时间差。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值