在学习QT时,跟着别人写的代码发现怎么都编译不通过,代码行与别人写的一样
代码如下
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QTime>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
timer = new QTimer(this);
connect(ui->loopBtn, &QPushButton::clicked, this, [=](){
if(timer->isActive()){
timer->stop();
ui->loopBtn->setText("开始");
}
else{
ui->loopBtn->setText("关闭");
timer->start(1000);
}
});
connect(timer, &QTimer::timeout, this, [=](){
QTime tm = QTime::currentTime();
QString tmStr = tm.toString("hh:mm:ss.zzz");
ui->curTime->setText(tmStr);
});
}
MainWindow::~MainWindow()
{
delete ui;
}
最终找到是代码中含有中文,需要将代码改为utf-8-bom编码,可以使用notepad轻松改变。
之后再编译就可以通过了
不过还是会存在ui中文乱码现象
只需要在代码前加上就ok了~
#pragma execution_character_set("utf-8")