Qt基础

一、控件加载图标+快捷键+tips

        

二、图形区域显示:采用场景QGraphicsScence、视图QGraphicsView和图形象QGraphicsItem实现

     

三、在主窗口创建最大最小化部件

     

四、解决TabWidget不能铺满窗口问题

    

五、Qt 读取txt文本乱码问题

 方法一:使用QString的fromLocal8Bit()函数

        QFile txtfile(filePath);            

        QString tmpStr;            

        if(txtfile.open(QIODevice::ReadOnly)) {                

              QTextCodec::setCodecForLocale(QTextCodec::codecForName("gb2312"));//中文转码声明                

              while(!txtfile.atEnd()) {                    

                     QByteArray arr = txtfile.readAll();  //       txtfile.readLine();            

                     arr.replace(0x0B,0x0D);                    

                     tmpStr = QString::fromLocal8Bit(arr, arr.length());//Window下的QByteArray转QString                

                     }            

            }           

         item->tableWidget()->item(row-1,column-1)->setText(tmpStr);

 方法二:用QTextCodec的toUnicode方法来显示中文(在程序中试验本方法不适合)    QTextCodec *codec = QTextCodec::codecForLocale();     QString a = codec->toUnicode("安师大手动");

 六、QPixmap和QImage的区别

  1)、QPixmap依赖于硬件,QImage不依赖于硬件。

      2)、QPixmap主要是用于绘图,针对屏幕显示而最佳化设计,QImage主要是为图像I/O、图片访问和像素修改而设计的。

      3)、当图片小的情况下,直接用QPixmap进行加载,画图时无所谓,当图片大的时候如果直接用QPixmap进行加载,会占很大的内存,一般一张几十K的图片,用QPixmap加载进来会放大很多倍,所以一般图片大的情况下,用QImage进行加载,然后转乘QPixmap用户绘制。QPixmap绘制效果是最好的。

      4)、QPimap主要用于加速显示,QImag主要是图像处理

七、发布时遇到问题:

         问题一:“This application failed to start because it could not find or load the Qt platform plugin "windows".”

               解决方法:从QT主目录下plugins文件夹中的platforms文件夹拷贝到exe所在目录中即可;

         问题二:无法读取并显示图像

               解决方法:从QT主目录下plugins文件夹中的imageformats文件夹拷贝到exe所在目录中即可,imageformats文件夹包含了许多图片格式的插件;

八、获取Qstring字符串长度

      QString 用length()返回字符串的长度,即字节数, 在中英文字符都是以 Unicode 方式编码的,所以,无论中英文都算的长度为 1。

想要取得英文长度为 1 中文长度为 2 的总长度,必须用toLocal8bit()。具体使用方法如下所示:

QString s = "ab中文";

int length = s.length(); //length = 4;

length = s.toLocal8Bit().length(); //length = 6

posted on 2018-03-21 14:20  请你吃喜头鱼的狮子  阅读(248)  评论(0)    收藏  举报

导航