我正在编写一个API,用于在工作中创建接口.API允许用户从一组预先构建的小部件和布局中进行选择,以便可以在短时间内为不同的单元创建多个接口.将有两个翻译文件; 一个用于API小部件(随库一起提供),另一个用于开发人员将在界面中为自定义数据创建的小部件.为了使开发人员更容易,我希望API通过将数据名称传递给API来处理所有翻译,但我遇到了绊脚石; 我无法让翻译人员识别发送给它的翻译文本,但它会识别本地文字字符串.
这是我正在谈论的一个简短例子.
class Object
{
public:
Object(QString name) { m_Name = name; };
QString name() { return m_Name; };
private:
QString m_Name;
};
class MyWidget : public QPushButton, public Object
{
Q_OBJECT
public:
MyWidget(QString name);
~MyWidget();
void retranslate();
protected slots:
void buttonPressed();
void changeEvent(QEvent* event);
private:
enum Language { ENGLISH, JAPANESE };
Language m_Language;
QTranslator* m_pTranslator;
};
MyWidget::MyWidget(QString name)
:Object(name) // this does not work, but :Object(tr("TEST")) does
{
m_pTranslator = new QTranslator();
m_Language = ENGLISH;
connect(this, SIGNAL(pressed()), …Run Code Online (Sandbox Code Playgroud)