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字型庫。這樣只需要執...