小编Bar*_*nau的帖子

应用程序不同部分的不同语言

我有一个多语言Qt应用程序,我有以下问题

  1. 应该翻译大部分UI以匹配系统区域设置的语言
  2. 该应用程序还可以打印各种表单.这些表单的语言应该可以从UI语言中单独选择(表单将被移交给通常不会使用本地语言的人)
  3. 如果可能的话,对于应用程序中的对话框,与前一点具有相同的功能将是很好的.

我能以什么方式实现这一目标?我发现的所有示例都涉及翻译整个应用程序,但在我的情况下,我需要两个独立的翻译(尽管可能使用相同的语言).

我是否需要复制QApplication::translate自己的后备机制并QTranslator::translate直接使用,还是有更方便的方法?

c++ multilingual qt

14
推荐指数
1
解决办法
536
查看次数

运算符重载:出现无法识别的错误

#include <iostream>
using namespace std;

class sales_item  
{  
    friend ostream& operator<<(ostream&,const sales_item&);

public:

    int item;
    sales_item()
    {
        item=2;
    }
    sales_item operator+(sales_item& item1)
    {
        sales_item item2;
        item2.item = item1.item+item;
        return item2;
    }
};



ostream& operator<<(ostream &out, sales_item& item3)  
{

    out<<item3.item;
    return out;
}

int main(int argc, const char * argv[])  
{  
    sales_item item1,item2;
    sales_item item3=(item1+item2);
    cout<<item3;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在这个程序中,我正在重载+和<<运算符.但当我试图替换行cout << item3; 与cout <<(item1 + item2); 或者cout << item1 + item2;

我收到以下错误:

Undefined symbols for architecture x86_64:
  "operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, sales_item …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading

0
推荐指数
1
解决办法
866
查看次数

标签 统计

c++ ×2

multilingual ×1

operator-overloading ×1

qt ×1