QT知识点总结

QT笔记


1、Text文本框显示,并改变变量颜色。

ui->textBrowser->append(QString::asprintf("<font color='red'>%s</font> ID:<font color='blue'>0x%8.8X</font> [<font color='green'>%d</font>]  <font color='#0F7F7F'>%s</font>", (pRxHdr->Feild1.Bit.Xtd)?("EXT"):("STD"), Id, pRxHdr->Feild2.Bit.Dlc, QByteArray((const char*)pDat, (int)Size).toHex(' ').data()));

2、控制台打印函数
.Pro

+printsupport
qDebug()<<(QString::asprintf("ID:0x%8.8X",pRxHdr->Feild1.Bit.Id)):(QString::asprintf("ID:0x%4.4X", (uint16_t)(pRxHdr->Feild1.Bit.Id>>18)))) << QByteArray((char*)pDat, Size).toHex(' ');

3、Hash使用

 QHash<uint8_t, QString> Errors;   //定义变量
	Errors[0x00] = "无错误";
    Errors[0x01] = "忙";
    Errors[0x02] = "未开始";
ui->StErrorLb->setText( Errors[SysSt.Bit.ErrCode] );  //显示

4、编译输出文件定向及包含路径

.Pro
DESTDIR = ../Bin
INCLUDEPATH += "../Plugins/Interface"

5、修改项目图标

RC_ICONS = Clamp.ico

6、延时函数

void Delay(unsigned int msec)
{
    QEventLoop loop;//定义一个新的事件循环
    QTimer::singleShot(msec, &loop, SLOT(quit()));//创建单次定时器,槽函数为事件循环的退出函数
    loop.exec();//事件循环开始执行,程序会卡在这里,直到定时时间到,本循环被退出
}

7、定时器事件

uint8_t InfoId = 0;
void MainWindow::timerEvent(QTimerEvent *event)
{
    if(TimerId == event->timerId())
    {
//        SendMsg(NodeAddr, CMD_GET_SYSINFO, InfoId, FRAME_EXT, NULL, 0);
        InfoId = (InfoId >= 5)?(0):(InfoId + 1);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值