Qt一些小技巧(一)

2021-06-20 15:19:49 字數 1939 閱讀 5738

部分**源自網際網路

1.帶有選單項的toolbutton -----------qtoolbutton

**如下:

//新增工具欄

q******* *p******* = new q*******;

qtoolbutton *pmenubtn = new qtoolbutton;

pmenubtn->settext(tr("menu"));

qmenu *pmenu = new qmenu;

pmenu->addaction(tr("qt"));

pmenu->addaction(tr("linux"));

pmenu->addaction(tr("freeos"));

pmenubtn->setmenu(pmenu);

connect(pmenubtn, signal(clicked()), pmenubtn, slot(showmenu()));

p*******->addwidget(pmenubtn);

this->add*******(p*******);

//設定視窗透明效果

this->setwindowopacity(0.8);

3.qt標準對話方塊之qmessagebox:

qmessagebox::information(null, "title", "content", qmessagebox::yes | qmessagebox::no, qmessagebox::yes);

qmessagebox::critical(null, "critical", "content", qmessagebox::yes | qmessagebox::no, qmessagebox::yes);

qmessagebox::warning(null, "warning", "content", qmessagebox::yes | qmessagebox::no, qmessagebox::yes);

qmessagebox::question(null, "question", "content", qmessagebox::yes | qmessagebox::no, qmessagebox::yes);

qmessagebox message(qmessagebox::noicon, "title", "content with icon.");

message.seticonpixmap(qpixmap("icon.png"));

message.exec();

我們使用qmessagebox類的時候有兩種方式,一是使用static函式,另外是使用建構函式。

首先來說一下static函式的方式。注意,static函式都是要返回乙個standardbutton,我們就可以通過判斷這個返回值來對使用者的操作做出相應。

qmessagebox::standardbutton rb = qmessagebox::question(null, "show qt", "do you want to show qt dialog?", qmessagebox::yes | qmessagebox::no, qmessagebox::yes); 

if(rb == qmessagebox::yes)

如果要使用建構函式的方式,那麼我們就要自己執行判斷一下啦:

qmessagebox message(qmessagebox::noicon, "show qt", "do you want to show qt dialog?", qmessagebox::yes | qmessagebox::no, null); 

if(message.exec() == qmessagebox::yes)

一些小技巧

關注 乙個好的程式設計師不應該把所有的判斷交給編譯器和偵錯程式,應該在程式中自己加以程式保護和錯誤定位,具體措施包括 對於所有有返回值的函式,都應該檢查返回值,除非你確信這個函式呼叫絕對不會出錯,或者不關心它是否出錯。一些函式返回錯誤,需要用其他函式獲得錯誤的具體資訊。例如accept返回inval...

一些小技巧

protected void repparent itemdatabound object sender,system.web.ui.webcontrols.repeateritemeventargs e 在父datalist的itemdatabound事件裡面寫子datalist的資料來源 繫結 ...

一些小技巧

protected void repparent itemdatabound object sender,system.web.ui.webcontrols.repeateritemeventargs e 在父datalist的itemdatabound事件裡面寫子datalist的資料來源 繫結 ...