急切盼回答:retranslateUi()怎么用?
在做动态语言切换,找了CSDN上一个例子,但是自己做的时候,总是报错:
'retranslateUi' was not declared in this scope
'class FunctionSelection' has no memeber named 'retranslateUi'
我仔细看了下例子,发现类是派生于Widget 和QDialog的,都可以用retranslateUi()函数,我的类FunctionSelection是派生于QMainWindow
请问是这个原因吗?
急切盼回答!!
谢谢大家!!
[解决办法]
retranslateUi 这个函数不是 Qt 的库函数,而是当你使用QtDesigner创建的窗口时,由 uic 程序自动生成的。你可以打开生成的 uic_*.cpp 看看,只是一系列的 setText、translate 等调用。
你可以仿照它生成的格式自己写对应的代码,只是所有控件对应的 setText 都得自己写。
PS:QMainWindow 是 QWidget 的派生类,QWidget能用的,QMainWindow都能用。