Qt注意事项(2)

来源:互联网 发布:淘宝上的笛子怎么样 编辑:程序博客网 时间:2024/06/05 14:06
#include "mainwindow.h"
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QObject>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget *window = new QWidget();
    window->resize(320, 240);
    window->show();
    QPushButton *button = new QPushButton(tr("Press me"), window);
    button->move(100, 100);
    button->show();
    return a.exec();

}



编译时报错:

E:\Qt\test\address-book\2\test1\test1\main.cpp:16: error: 'tr' was not declared in this scope
     QPushButton *button = new QPushButton(tr("Press me"), window);
                                                        ^


修改成

 QPushButton *button = new QPushButton(QObject::tr("Press me"), window);
问题解决。
如果在定义的类中引入
Q_OBJECT
宏,就可以直接使用tr函数了。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();
};
#endif // MAINWINDOW_H

原创粉丝点击