Qt之日常積累

2021-07-04 11:58:15 字數 4261 閱讀 6461

qt獲取qdatatimeedit的值

qdatetime datetimes;

qdatetimeedit *time = new qdatetimeedit(qdatetime::currentdatetime());

datetimes = time->datetime();

讀取qtextedit的值

qstring content = ui.contenttextedit->toplaintext();

qstring和std::string互轉

std::string cstr;

qstring qstring;

//****從std::string 到qstring

qstring = qstring(qstring::fromlocal8bit(cstr.c_str()));

//****從qstring 到 std::string

cstr = std::string((const char *)qstring.tolocal8bit());

bool copyfile(

lpctstr lpexistingfilename, // pointer to name of an existing file

lpctstr lpnewfilename, // pointer to filename to copy to

bool bfailifexists // flag for operation if file exists

); 其中各引數的意義:

lpctstr lpexistingfilename, // 你要拷貝的源檔名

lpctstr lpnewfilename, // 你要拷貝的目標檔名

bool bfailifexists // 如果目標已經存在,不拷貝(true)並返回false,覆蓋目標(false)

如: //拷貝檔案c:\log.txt到d:\log.txt,如果d:\log.txt已經存在,就覆蓋

copyfile("c:\\log.txt","d:\\log.txt",false); 

string fromascii ( const char * str, int size = -1 )

qstring fromlatin1 ( const char * str, int size = -1 )

qstring fromlocal8bit ( const char * str, int size = -1 )

qstring fromrawdata ( const qchar * unicode, int size )

qstring fromstdstring ( const std::string & str)

qstring fromstdwstring ( const std::wstring & str)

qstring fromucs4 ( const uint * unicode, int size = -1 )

qstring fromutf8 ( const char * str, int size = -1 )

qstring fromutf16 ( const ushort * unicode, int size = -1 )

qstring fromwchararray ( const wchar_t * string, int size = -1)

qstring ->std::string

qstring::tostdstring () ,qstring::tostdwstring ()

bstr<->qstring

bstr bstr_str;

qstring q_str((qchar*)bstr_str, wcslen(bstr_str))

bstr_str = sysallocstring(q_str.utf16())

remember use

sysfreestring onbstr

qstring<->lpcstr

qstring::tolocal8bit().constdata()

qstring fromlocal8bit ( const char * str, int size = -1 )

qstring<->lpcwstr

qstring::utf16()

qstring fromutf16 ( const ushort * unicode, int size = -1 )

qstring<->cstring

cstring c_str(qstring::utf16())

qstring fromutf16 (lpctstr(c_str) )

1.qstring轉char *

先將qstring轉換為qbytearray,再將qbytearray轉換為char *。

注意:不能用下面的轉換形式char *mm = str.tolatin1().data();。因為這樣的話,str.tolatin1()得到的qbytearray型別結果就不能儲存,最後轉換,mm的值就為空。

2. char * 轉qstring

可以使用qstring的建構函式進行轉換:qstring(const qlatin1string &str);

qlatin1string的建構函式:qlatin1string(const char *str);

則如下語句是將char * mm轉換為qstring str:

str = qstring(qlatin1string(mm));

當轉換中文時

1.qstring轉char *

先將qstring轉為標準庫中的string型別,然後將string轉為char*,如下:

std::string str = filename.tostdstring();

const char* ch = str.c_str();

2. char * 轉qstringchar * ch;

qstring str(ch);

void

mainwindow

::on_pushbutton_2_clicked

()

資料庫操作

query.exec("insert into facerec_reginfo (frregid, frname, fr***, frbirthday, fridnum, fraddress, frimgname, frjobnum, frdepartment, frremark, frupdatetime) values('"+guid+"','"+name+"',1,'"+birthday+"','"+reginfo.szidnum+"','"+reginfo.szaddress+"','"+reginfo.szimgname+"','"+reginfo.szjobnum+"','"+reginfo.szdept+"','"+reginfo.szremark+"','"+dbtime+"');");

資料庫執行變數操作

query.exec(qstring("delete

from information where name='%1'").arg(name_del));

1可以在query.exec前,宣告qstring sqlquery;將帶變數的sql語句放入sqlquery中

sqlquery=qobject::tr("insert into table values('%1','%2')").arg(value1,value2);

執行query.exec(sqlquery);就可以了

修改qdateedit的值

qstring str=m_preginfo->dbirthday.tostring("yyyy-mm-dd");//m_preginfo->dbirthday為qdatetime型別的值

qstringlist strlist=str.split("-");

qdate day(strlist[0].toint(),strlist[1].toint(),strlist[2].toint());

ui.birthdateedit->setdate(day);

python之日常練習

在看python程式設計這本書的時候,發現幾個很有意思的問題 問題一 抓了a,b,c,d,4名犯罪嫌疑人.其中有一名是小偷,審訊中 a說我不是小偷 b說c是小偷 c說小偷肯定是d d說c胡說!其中有3個人說的是實話,乙個人說的是假話,程式設計推斷誰是小偷。這個問題看似有點難度其實很簡單 coding...

Mac之日常操作

1.建立root使用者使用最高許可權 sudo passwd root 一般情況下,使用臨時獲取最高許可權 sudo vim etc shells 2.apache操作 啟動apache sudo apachectl k start 停止apache sudo apachectl k stop 重啟...

日常積累C

預設建構函式準確來說就是在呼叫時不需要傳入形參的建構函式。c 11 在原有提供預設建構函式 賦值建構函式 複製賦值運算子和析構函式的基礎上增加移動建構函式和移動複製運算子。預設建構函式原型 someclass someclass const someclass 移動建構函式原型 someclass ...