QT 常见设置

来源:互联网 发布:东南亚旅游推荐 知乎 编辑:程序博客网 时间:2024/05/16 15:16

一、Qt4.7添加背景
 QPixmap pixmap(":/new/prefix1/1.jpg"); 
    QPalette palette;
    palette.setBrush(backgroundRole(), QBrush(pixmap));
    setPalette(palette);


文件1.jpg在Resource data中的/new/prefix1/ 目录;

二、隐藏标题栏
  weather::setWindowFlags(Qt::FramelessWindowHint); //隐藏;

问:如何用QT创建一个不带标题栏的窗口?就象启动画面一样的?
答:loginDlg::setWindowFlags(Qt::FramelessWindowHint)即可;

// Qt::WStyle_Customize|Qt::WStyle_NoBorder
Qt::WStyle_NoBorder FramelessWindowHint Use Qt::FramelessWindowHint instead.

三、设置窗口大小样式,有四种选择

w.show();                    实际大小

w.showEvent()                自定义大小

w.showFullScreen();          全屏

w.showMaximized();           最大化

w.showMinimized();           最小化

w.showNormal();              正常

四、编译安装qt-4.6.2 嵌入式版 里面没有phonon的库 怎么办
加上编译选项 -phonon -phonon-backend 就把phonon库编译进去了.

 五、字体格式设置
   
    QTextCharFormat TCForm;
    QFont fon2;
  
    // fon1.setFontUnderline(1);

    fon2.setBold(1);       //设为粗体
    TCForm.setFont(fon2);  //配置QTextCharFormat
    ui->calendarWidget->setDateTextFormat(date1,TCForm);

   像QTextCharFormat ,QFont ,Widget这些类,可以直接用TCForm.setFont(fon2); ui->是名空间。
 
 六、设置开机启动qt程序
    在/bin/qt4 里面有开机启动的脚本
    注意要启动的文件在检索附加文件时和在控制台启动有不同,比如在fopen("qidong.txt");qidong.txt在/opt/qt-4.7/bin/下面。
    在控制台启动时而且程序在/opt/qt-4.7/bin/下面,则会直接检索/opt/qt-4.7/bin/目录。
    在开机自启动时,则会检索根目录 / ,而不是/opt/qt-4.7/bin/;这样就有可能造成程序不能启动。所以在写程序是应该写成
    fopen("/opt/qt-4.7/bin/qidong.txt");
       
   
    vi /bin/qt4
   
#!/bin/sh

echo Start Qt-4.7 > /dev/tq2440_serial0
export set TSLIB_TSDEVICE=/dev/event0
export set TSLIB_CALIBFILE=/etc/pointercal
export set TSLIB_CONFFILE=/etc/ts.conf
export set TSLIB_PLUGINDIR=/lib/ts
export set HOME=/root
export set QTDIR=/opt/qt-4.7
export set QPEDIR=/opt/qt-4.7
export set QTDIR1=/sbin
export set QWS_DISPLAY="LinuxFB:/dev/fb0"
export set QWS_DISPLAY="LinuxFB:mmWidth130:mmHeight100:0"
export s$QPEDIR/bin/home6 -qws 1> /dev/null 2>/dev/null
export s$QPEDIR/bin/home6 -qwsLIB:/dev/event0"

export set QT_QWS_FONTDIR=$QTDIR/lib/fonts/
export set PATH=$QPEDIR/bin:$PATH
export set LD_LIBRARY_PATH=$QTDIR/lib:$QPEDIR/plugins/imageformats:$LD_LIBRARY_P

                                                                               
if [ -f /etc/pointercal ] ; then                                               
        $QPEDIR/bin/home6 -qws 1> /dev/null 2>/dev/null           
        //就在这两行    加启动程序        
        $QPEDIR/bin/home6 -qws                                                 
else                                                                           
        ts_calibrate                                                           
#       $QPEDIR/bin/mousecalibration                                           
        $QPEDIR/bin/hello_cn -qws 1> /dev/null 2>/dev/null
fi  

七、qt4的中文显示问题


1)、去文泉驿官方网http://wenq.org/下载一个字库回来。里面有很多字库,我选择常用的正黑。正黑字库文件下载地址是:http://downloads.sourceforge.net/project/wqy/wqy-zenhei/0.8.38%20(Pangu)/wqy-zenhei-0.8.38-1.tar.gz?use_mirror=nchc&18950117

下载回来的文件里面有这样一个文件:wqy-zenhei.ttc,将其放到/opt/qt-4.5/lib/fonts里面,再在主函数里面修改字库的ID:
int main(int argc, char *argv[])
{
    QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
  
    QApplication a(argc, argv);
    Widget w;
       
 w.setFont(QFont("wqy-zenhei",14,QFont::Normal));//这行是关键,没有这行是显示不了中文的。
    w.setWindowTitle(QObject::tr("为什么why?"));
    w.show();
     return a.exec
}


 /* QTextCodec::setCodecForTr(QTextCodec::codecForName("GB2312"));
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GB2312"));
   /* QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));*/
    load_etc();
    MainWidget w;*/

原创粉丝点击