这是在String头文件重载=运算符的,不要写string::operator=了,直接写成string & operator=(string& s)就行了,如果把头文件和源文件分开,同时不在头文件里写函数体,此时应该用类作用域符
QtLinguist的使用方式
lupdate可以把h,cpp,ui中需要翻译的字符串抽出来形成ts文件,然后用linguist翻译,用lerealse生成qm。
*** 作步骤如下:
1修改pro,在其中添加=XXXts或是=XXXts
如果要生成多个可以用:
=lang_ents
lang_zhts
lang_lats
2执行lupdatepro,生成XXXts
3使用linguist打开XXXts,进行翻译,翻译结束后,保存成为qm格式的。File-
或者是翻译结束后,使用命令,lreleaseXXXts,生成qm文件。
4在程序中加入。
QTranslatortranslator;
translatorload("browser");
app(&translator);
其中load的是XXXqm中的不包含后缀名的文件名(即XXX)。
注:我之前编写时在Maincpp中加入的东东:
a(argc,argv);
QTranslatortranslator;
translatorload("admain_zh");
asetFont(QFont("wenquanyi"));//设置字体库
a(&translator);
如果你能编译通过,那说明你在头文件中一定有这样的定义:
QLabel test;否则test_button_clicked()中会报错, test不存在
而你在构造函数中又这样定义:
QLabel test = new QLabel();其实质是新建了一个QLable,并不是头文件中声明的test,头文件中的 test并没有初始化,还是空值,所以在调用槽函数test_button_clicked()因为test为空,导致程序崩溃
解决办法:
把构造函数中的
QLabel test = new QLabel();改为:
test = new QLabel();这也应该是你的本意
以上就是关于书店上买的C++程序设计,里面有一段代码用VS2017和QT4.7结果运行不对,请问要怎么改全部的内容,包括:书店上买的C++程序设计,里面有一段代码用VS2017和QT4.7结果运行不对,请问要怎么改、Qt程序汉化的问题_qt汉化方法、QT关于在槽函数中修改组件属性导致程序崩溃求解答等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)