QT/E心得 - 窗口无边框,显示中文

转载 2007年09月16日 05:07:00
没搞多九QT/E,只是想把自己前段时间的学习心得跟大家交流...

此文为本人工作时的小记,其中关于了一些QT/E程序如何在ARM开发板上执行的内容.

在虚拟机中对程序进行编译时,需要先进行EXPORT设置一些路径,如下:
[root@localhost tmake-1.8]# export TMAKEDIR=$PWD
[root@localhost tmake-1.8]# export TMAKEPATH=$TMAKEDIR/lib/qws/linux-x86-g++
[root@localhost tmake-1.8]# export PATH=$TMAKEDIR/bin:$PATH
[root@localhost qt-2.3.7]# export QTDIR=$PWD
[root@localhost qt-2.3.7]# export QTEDIR=$QTDIR
[root@localhost qt-2.3.7]# export PATH=$QTDIR/bin:$PATH
[root@localhost qt-2.3.7]# export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
上面是将程序编译成可在虚拟机下执行(模拟桢缓冲中显示,即QVFB中显示)。

如果是要将程序交叉编译成在开发板中执行的程序, EXPORT设置路径需要改动一处:
[root@localhost tmake-1.8]# export TMAKEPATH=$TMAKEDIR/lib/qws/linux-arm-g++.

在虚拟机的HOME/WANGXL目录下面有两个关于libqte.so文件的目录,一个是lib_qte此为在开发板上qt/lib中的libqte.so等文件,另一个lib_qte_old是虚拟机上qt-2.3.7/lib中的libqte.so等文件。

要在开发板上显示虚拟机中的QTE程序,需要在虚拟机中装入交叉编译环境(arm-elf-gcc-3.2-full-tar.bz2与arm-linux-gcc-3.3.tar.bz2,板上自带程序),装入地址为:
/usr/local/arm。另需要将/usr/local/arm/3.2-elf/bin与/usr/local/arm/3.3/bin路径写入.bash_profile文件当中。

此外,需要在虚拟机路径/usr/local/arm/3.3/lib/gcc-lib/arm-linux/3.3中加入开发板中的libqte.so等四个文件(位于../qt/lib下),这个是在虚拟机中将C++文件编译成可在开发板中执行的文件所必须的qte库支持文件。

如果是要将编译为arm下可执行改为编译为虚拟机下可执行,需要将前面讲到的EXPORT设置改动一处,另外,需要删除Makefile文件,重新建立Makefile文件。

另外,用designer设计的ui文件生成头文件和CPP文件的UIC命令格式如下:
uic –o test.h test.ui
uic –i test.h –o test.cpp test.ui

由pro文件生成Makefile文件的格式如下
tmake –o Makefile test.pro

另外,开发板从15号开发机上获取文件,由于开发板速度慢,用超级终端(串口连在开发板与主机之间)对开发板进行操作(但对QTE程序执行操作需要在开发板子上操作)。
开发板从开发机获取可执行文件命令如下:
wget http://172.20.6.15/可执行文件名




显示中文方法一:
QFont unifont("unifont",12,50); unifont.setPixelSize(10);
label = new QLabel( p, "Red_Label" );
label->setGeometry( QRect( 80, 5, 90, 14 ) );
label->setFont( unifont );
label->setText( QString::fromUtf8("汉字显示") ) ;

显示中文相关链接一:
我已经用了三中方法尝试,但是都有问题,不知道问题在哪儿?
方法一:QLabel *lb=new QLabel(QString::fromLocal8Bit("中文显示"),this);
显示出来的是方框。
方法二:QLabel *lb=new QLabel(QString::fromUtf8("中文显示"),this);
显示出来的还是方框。
方法三:QTextCodec *code=QTextCodec::codecForName("GBK");
QString uniStr=code->toUnicode("中文显示");
QLabel *lb=new QLabel(uniStr,this);
显示出来的结果是:只显示了一个“中”字,其余的仍然是方框。
我已经很努力的研究了一阵子了,但是不知道是何问题,还请各位高手指点。
能够显示汉字,说明QT带有中文字库。
显示中文相关链接二:
靠,这个问题都还在问呀最简单的方法如下:
QLabel *label11;
label11 = new QLabel(QString::fromLocal8Bit("背光亮度设置"), this );
label11->move(20,10);
label11->resize(150,20);


窗口无边框方法:
#include <QNameSpace.h>
mainform(0,0,QT::WStyle_Customize|Qt::WStyle_NoBorder);  

相关文章推荐

ARM与Linux_PC之间tftp通信环境的搭建

ARM与Linux_PC之间tftp通信环境的搭建,ARM开发板与linux主机之间通过双绞线ping通,tftp命令用法如下(linux PC机上),Busybox中tftp命令的用法(ARM开发板...

mini2440 蜂鸣器驱动

蜂鸣器驱动代码如下:#include #include #include #include #include #include #include #include "buzzer.h...

QT自定义窗口(无边框,自由拖动)

QT自定义窗口(无边框,自由拖动)

在opencv中显示无边框的窗口

1、下载opencv完整源代码,使用CMake生成工程文件。 2、找到opencv_highgui中的window_w32.cpp文件,定位到CV_IMPL int cvNamedWindow(...

Qt实现窗体无边框,并且点击windows任务栏图标可以最小化

Qt中对于窗口边框的设置一般用到setWindowFlags函数。 void setWindowFlags(Qt::WindowFlags type) Qt::Widget ...

QT实现无边框的可移动窗体

无边框窗体不可移动窗口 int main(int argc, char *argv[]){ QApplication::setStyle("cleanlooks"); ...

QT5 窗口标题显示中文

窗口标题显示中文

无边框的字幕显示程序

  • 2015年04月15日 20:27
  • 6.61MB
  • 下载

iframe去边框,无边框,使用大全 Shortcut Icon地址栏显示图标

Shortcut Icon 就是在网站地址的前面出现的那个小图标。    想要让你的网站显示个性图标,首先需要制作个icon的图标,其次需要在页面的“”间添加如下代码: Html代码  ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT/E心得 - 窗口无边框,显示中文
举报原因:
原因补充:

(最多只允许输入30个字)