1,宣告乙個訊號要使用signals關鍵字,在signals前面不能使用public,private和protected
使用訊號和槽還必須在生命的最開始處新增新增q_object巨集
bool qobject::connect(const qobject *sender,const char *signal,const qobject *
receiver,const char *method,qt::connectiontype = qt::autoconnection)
qiodevice 類是 qt 種所有 i/o 裝置的基礎介面類,為諸如qfile,qbuffer和qtcpsocket 等
支援讀寫資料塊的裝置提供了乙個抽象的介面
訪問乙個裝置以前需要使用open()函式開啟裝置 ,而且必須指定正確的開啟模式
write(),putchar()來進行寫入,使用read(),readline(),readall()進行讀取,使用close()關閉裝置
qiodevice 會區別兩種型別的裝置,:隨機訪問裝置和順序儲存裝置。
qfile類提供了乙個用於讀寫檔案的介面,是乙個可以用來讀寫文字檔案,二進位制檔案和qt資源的i/o
裝置,qfile可以單獨使用,也可以和qtextstream或者
串列埠操作:
1,讀取資料:
void mainwindow::readmycom()
else if(ui->chradiobutton->ischecked())
}ui->textbrowser->settext(ui->textbrowser->doucument()->toplaintext() + buf);
qtextcursor curosr = ui->textbrowser->textcursor();
curosr.moveposition(qtextcursor::end);
ui->textbrowser->settextcursor(cursor);
ui->recvbyteslcdnumber->display(ui->recvbyteslcdnumber->value() + temp.size());
ui->statusbar->showmessage(tr("成功讀取%1位元組數").arg(temp.size()));}}
example:
qstring str = "a,,b,c";
qstringlist list1 = str.split(","); // list1:["a","","b","c"]
qstringlist
list2 = str.split(",",qstring::slipemptyparts);//list2:["a","b","c"]
//傳送資料
viod mainwindow::sendmsg()
}}else
//傳送資料
mycom->write(buf);
ui->statusbar->showmessage(tr("傳送資料成功"));
//介面控制
ui->textbrowser->settextcolor(qt::lightgrary);}/
設定連續傳送計時器
obotimer = new qtimer(this);
connect(obotimer,signal(timeout()),this,slot(sendmsg()));
///傳送資料按鈕
void mainwindow::on_sendmsgbtn_clicked()
//如果傳送資料為空,給出提示並返回
if(ui->sendmsglineedit->text().isempty())
//如果不是連續傳送
if(!ui->obocheckbox->ischecked())else
}
Qt學習筆記
1.參考資料 1 2 3 4 5 6 2.faq 2.1.qt creator 2.1.1.xp下用qt creator編譯自帶例子mdi sdi 當不勾選projects build settings build environment的 clear system environment 時,編譯...
QT學習筆記
1.在windows下配置好qt的環境變數以後,用cmd開始編譯,qmake project qmake hello.pro mingw32 make 結果出現錯誤 include 問題已經解決了,主要是 故而只需在.pro檔案中加入 greaterthan qt major version,4 q...
Qt 學習筆記
常用控制項對應類 窗體 qwidget 水平布局 qhboxlayout 豎直布局 qvboxlayout 網格布局 qgridlayout 按鈕 qpushbutton 標籤 靜態文字框 qlabel qlineedit label new qlabel tr find what lineedit...