VS2019+QT6.24学习心得2

DAYTWO

中文乱码问题:

        VS + Qt环境下解决中文乱码问题_vs qt 乱码_卧_听风雨的博客-CSDN博客cc

        参考上博客 

ui不允许使用不完整的类型???

        

        个人感觉是QT界面设计有中文,导致乱码,我在网上查找到加上头文件

#include<fstream>  可解决问题。

QT编码格式为UTF-8(Unicode字符集的一种编码方式),那么解决乱码另一种简便方式便是设置默认编码格式为 UTF-8或Unicode。方法如此文所述Visual Studio 设置默认编码格式为 UTF-8 或 GB2312-80 与文件没有高级保存选项怎么显示_Come_code的博客-CSDN博客

 用改变编码的方法,那么不用再考虑中文的乱码修改问题,实现QT与vs编译的兼容

资源文件:

可以在vs中单独再创建资源文件,再在cpp文件中指定路径进行显示。

ui->actionSaveAs->setIcon(QIcon (QString::fromLocal8Bit(":/MyWindow1/Image/butterfly1.png")));
///MyWindow1是前缀名

        也可以在vs中指定qt路径,在qt中便可使用该资源文件进行布局设置,vs编译也可见。如果不在vs中指定路径,只在qt中使用自创路径,vs可能不显示。

对话框:

//模态对话窗,显示窗口后其他窗口无法操作  阻塞,当对话窗关闭后,才会向下执行 
    QDialog dig(this); 
    dig.exec(); 


//非模态对话窗,显示窗口消失  非阻塞
//QDialog dig(this);
//dig.show(); //非模态对话窗,显示窗口消失  非阻塞,但一下就消失不符合预期

QDialog *dig = new QDialog(this);//定义指针,按下按钮后新创建一个QDialog内存空间,
//当住窗口关闭时,才会析构,但是每按一次,出新一个新窗口,就多创造了一个内存空间
//解决方法1.定义类成员变量,当对话窗关闭时就析构,但是比较麻烦2.定义对话窗属性

     dig->setAttribute(Qt::WA_DeleteOnClose);//宏记不住可以记值55
     dig->show();

颜色对话窗和文字对话窗

       //auto color = QColorDialog::getColor();
      //qDebug() << color.red() << color.green() << color.blue();
      bool yes;
      QFont font = QFontDialog::getFont(&yes, QFont("宋体"), this, ",My字体设置");
    if (yes) {
     qDebug() << font.family() << font.italic() << font.pointSize() <<font.bold();  
            }

QT构造函数的析构问题

        在qt构造函数中创建对象应尽可能多的使用指针,否则对象创建在构造函数中,创造完成就被释放了,一些有动画和连续动作的函数就无法显示。如下例

    QMovie* movie = new QMovie("://Controls/Image/mario.gif");
    ui->labelMovie->setMovie(movie);
    movie->start();

创建的最左侧gif 图存在并运行。

    QMovie movie("://Controls/Image/mario.gif");
    ui->labelMovie->setMovie(&movie);
    movie.start();

 最左侧的gif图被析构消失。

        但是具体原因还是不是很清楚,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值