当前位置: 代码迷 >> QT开发 >> 关于qt5.0.2的代码有关问题
  详细解决方案

关于qt5.0.2的代码有关问题

热度:61   发布时间:2016-04-25 03:55:45.0
关于qt5.0.2的代码问题
下面是成功运行在qt4.7.4版本下的,
#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // 在代码中可以使用中文字符串
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());

    // 新建QWidget类对象,默认parent参数是0,所以它是个窗口
    QWidget *widget = new QWidget(0, Qt::Dialog);

    // 设置窗口标题
    widget->setWindowTitle(QObject::tr("我是widget"));

    // 新建QLabel对象,默认parent参数是0,所以它是个窗口
    QLabel *label = new QLabel(0, Qt::SplashScreen);

    label->setWindowTitle(QObject::tr("我是label"));

    // 设置要显示的信息
    label->setText(QObject::tr("label:我是个窗口"));

    // 改变部件大小,以便能显示出完整的内容
    label->resize(180, 20);

    // label2指定了父窗口为widget,所以不是窗口
    QLabel *label2 = new QLabel(widget);

    label2->setText(QObject::tr("label2:我不是独立窗口,只是widget的子部件"));

    label2->resize(250, 20);

    // 在屏幕上显示出来
    label->show();
    widget->show();

    int ret = a.exec();
    delete label;
    delete widget;
    return ret;
}

但是放到qt5.0.2确有各种问题,我知道是版本的原因,应该怎么改可以运行在qt5.0.2下??可不可进行设置,使得5.0.2版本向下兼容??谢谢了。
Qt5

------解决方案--------------------
这句话注释QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
.pro加上QT +=widgets

------解决方案--------------------
Qt5没有QTextCodec::setCodecForTr();

改成:
QTextCodec::setCodecForLocale(QTextCodec::codecForLocale());
  相关解决方案