一个类如果不继承QObject是不能直接使用tr函数,有什么方法可以在不继承QObject的情况下又能直接使用tr函数呢?答案是使用Q_DECLARE_TR_FUNCTIONS宏。
使用
- 在类中用Q_DECLARE_TR_FUNCTIONS宏定义该类。
- 可以直接使用
tr
与trUtf8
静态方法。
static inline QString tr(const char *sourceText,
const char *comment = 0);
static inline QString trUtf8(const char *sourceText,
const char *comment = 0);
示例
class Test
{
Q_DECLARE_TR_FUNCTIONS(Test)
public:
Test()
{
qDebug() << tr("text");
qDebug() << trUtf8("utf8-text");
}
};
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。