QT4 6 2 學習問題摘錄

2021-05-22 12:21:08 字數 2078 閱讀 8166

qt4.6.2 學習問題摘錄

1. qt重寫視窗關閉事件

***.h

protected:

void closeevent(qcloseevent *e);

***.cpp

void chatform::closeevent(qcloseevent *e)

2. liunx下qt create中編輯**時輸入奇慢無比

估計是和qdeveloper是有衝突的,把qdeveloper刪除後,**輸

入變得流暢。

3. splitter視窗後使用gridlayout布局視窗實現splitter視窗自

動縮放大小。

設定各個視窗縮放比例:

ui->splitterh->setstretchfactor(0, 0);

ui->splitterh->setstretchfactor(1, 1);

ui->splitterv->setstretchfactor(0, 1);

ui->splitterv->setstretchfactor(1, 0);

4. gridlayout布局後設定邊框大小

ui->gridlayout->setcontentsmargins(2, 2, 2, 6);

5. 父視窗的變數值通過子視窗建構函式傳遞進去

chatform::chatform(qstring id, qstring peerip, qstring

peerport, qudpsocket *udpsocket):ui(new ui::chatform)

6. 設定按鈕為透明

ui->regbutton->setflat(true);

7. 對話方塊設定是否為模態對話方塊

regdialog = new regdialog();

regdialog->setmodal(true);

//regdialog->setmodal(false);//預設值

regdialog->setwindowtitle("test");

//regdialog->setwindowicon();

regdialog->show();

8. 設定支援中文顯示

注意使用tr()函式

#include

//support chinese character set

qtextcodec::setcodecforcstrings

(qtextcodec::codecforname("gb2312"));

qtextcodec::setcodecforlocale

(qtextcodec::codecforname("gb2312"));

qtextcodec::setcodecfortr(qtextcodec::codecforname

("gb2312"));

9. 重寫qsqlquerymodel中的函式自定義tableview顯示方式

#include "mysqlquerymodel.h"

#include

mysqlquerymodel::mysqlquerymodel()

qvariant mysqlquerymodel::data(const qmodelindex & index,

int role) const

else if (role == qt::textcolorrole && index.column()

== 2)

else return value;

10. 使用多執行緒處理tcp連線

在incomingconnection實現中開闢執行緒處理連線,

socketdescriptor作為執行緒建構函式的引數傳入

//.h

#ifndef tcpsockserver_h

#define tcpsockserver_h

#include

#include

class tcpsockserver : public qtcpserver

void tcpsockserver::incomingconnection(int

socketdescriptor)

QT4 6 2與vs2005(vs2008)的整合

微軟的mfc實在是太麻煩了,一直知道qt挺好用的,今天終於試了一下,果真相當方便,只需稍微配置一下就可以使用,也不用以前那麼長時間的編譯了。1 qt庫的獲得 2 系統路徑的配置 3 visual assist是我們常用的vs外掛程式,可以方便我們的編碼過程,但是預設它不會加入qt庫,因此我們需要專門...

QT學習之編碼問題

傳送的時候先儲存到乙個qbytearray裡面,然後列印出來,看有沒有錯,然後傳送,接受的時候也儲存到乙個qbytearray裡面,列印出來 看有沒有錯。如果傳送的時候就錯了,明顯就已經轉錯了。如果接受的時候錯了,有可能沒接受完全,也有可能丟包了,你比較下接受的時候大小和傳送的時候是不是一樣的,不一...

QT學習筆記 解決QT無法顯示漢字問題

ui label settext qstring fromutf8 按鈕1被按下!方法一 或者在終端中執行 例如 hello qws font wenquanyi 這樣就可以顯示中文了 如果不想輸入後面的引數可以把lib fonts中的其他字型全部刪除,只保留泉驛正黑字型的qpf字型庫。這樣只需要執...