1.建立視窗
qwidget *window = new qwidget();
window->resize(300, 300);
window->show();
qpushbutton *button = new qpushbutton(tr(""). window);
button->move(100, 100);
button->show();
2.按鈕控制項:qt中button系列根據用途被劃分為不同的定義,其實現框架為qabstractbutton提供按鈕的通用性功能,此為抽象基類,所以無法進行例項化。
(1)pushbutton 按鈕
常見函式:
setgemetry(int x, int y, int w, int h);
setfont(qfont );
qpushbutton::qpushbutton ( qwidget * parent = 0 )
qpushbutton::qpushbutton ( const qstring & text, qwidget * parent = 0 )
qpushbutton::qpushbutton ( const qicon & icon, const qstring & text, qwidget *parent = 0 )
建立乙個命令按鈕text用於描述,qicon用於顯示小圖示
qmenu * qpushbutton::menu () const
獲取與button關聯的彈出選單,如果沒有關聯選單返回0
void qpushbutton::setmenu ( qmenu * menu )
關聯乙個選單到按鈕上,這樣按鈕就形成了選單按鈕
void qpushbutton::showmenu () [slot]
顯示與button相互關聯的按鈕,如果沒有則什麼都不操作。
此函式知道彈出選單被關才會返回。
(2)toolbutton 工具按鈕
其是一種快速訪問按鈕命令或選項。所以通常和q*******搭配使用。工具按鈕通常不顯示文字,而顯示圖示qicon。
(3)radiobutton 單選按鈕
設定文字或icon使用抽象類的介面settext及seticon實現。
(4)checkbutton 核取方塊
(5)commandlinkbutton 命令鏈結按鈕
(6)buttonbox 按鈕盒
3. qlabel
(1) 定義
qlabel* m_labelordered = new qlabel("0", this);
(2) 對文字的左右對齊設定
m_labelordered->setalignment(qt::alignleft);//左對齊
其它還有,橫向對齊:
qt::alignauto – 根據語言內容,大部分是左對齊。右對齊的有:阿拉伯語、希伯來(現代以色列)語
qt::alignleft – 居左
qt::alignright – 居右
qt::alignhcenter – 居中
qt::alignjustify – 兩端對齊。並不是所有時候都有效,有時會被alignauto中斷
豎向對齊:
qt::aligntop – 居頂
qt::alignbottom – 居底
qt::alignvcenter – 居中
同時只可以使用乙個橫向或豎向對齊方式。但是還有乙個同時設定橫豎方向的標記:
qt::aligncenter – 橫豎都居中
內容自動換行:
qlabel::wordbreak
但是,幫助手冊上說:breakanywhere標記在qlabel是不支援的。
如果一定有這樣的需求,可以考慮下面兩個方法:
(1) 在settext()時,用html串賦值,裡面加上換行符
(2) 使用qtextedit還有乙個好處,就是可以對內容進行賦值貼上。
4.qtreewidget
在建構函式裡面建立了乙個qtreewidget的例項。呼叫setcolumncount()函式設定欄數。然後我們要向qtreewidget新增qtreewidgetitem。qtreewidgetitem有九個過載的建構函式。我們在這裡只是來看看其中的乙個:
qtreewidgetitem::qtreewidgetitem ( qtreewidget * parent,
const
qstringlist & strings,
inttype = type );
後面我們又建立了乙個qtreewidgetitem,注意它的第乙個引數不是qtreewidget而是qtreewidgetitem型別的,這就把它的父節點設定為前面我們定義的root了。然後我們使用了setcheckstate()函式,讓它變得可以選擇,最後使用addchild()函式把它新增進來。
最後一步,我們建立了乙個qlist型別,前面的root新增進去,然後insert到top items。
增加刪除頂層用:addtoplevelitem(qtreewidgetitem*);
taketopleveltem(int);
toplevelitem(int); //返回
toplevelitemcount();
增加刪除子層:
addchild(qtreewidgetitem*);
addchildren(const qlist&);
takechild(int);
takechildren();
child(int) //返回
childcount();
2.高階:
//加checkbox, iconpnewitem->setflags(qt::itemisselectable | qt::itemisusercheckable |qt::itemisenabled);
pnewitem->setcheckstate(0, qt::unchecked);
//pnewitem->seticon(int , qicon);
//向item裡放一些qt的控制項,如qspinbox,qcombobox,qpushbutton等
this->setitemwidget(pnewitem, 0, new qspinbox());
//獲取某項的qrect, 有時候會很有用,如顯縮圖:
qrect rect = this->visualitemrect(qtreewidgetitem*);
//右鍵選單重寫
contextmenuevent( qcontextmenuevent * event );或者使用訊號itempressed(qtreewidgetitem*, int);
//對頭的操作,可以用qlabel或者qtreewidgetitem對頭進行初始化,
//隱藏頭
header()->hide();
m_pheaderview->setclickable(true); //能夠發射sectionclicked(int)訊號,可做選單,顯示隱藏列:setsectionhidden(int, bool);issectionhidden(int);
m_pheaderview->setmovable(true);
m_pheaderview->setresizemode(0, qheaderview::fixed); //固定列寬
m_pheaderview->setdefaultsectionsize(100); //預設
//排序
treewidget->setsortingenabled(true);
treewidget->header()->setsortindicatorshown(true);
treewidget->header()->setsortindicator(0, qt::ascendingorder);
//要自定義就用訊號
connect( treewidget->header(), signal( sectionclicked(int) ), this, slot( sectionclickedslot(int) ) );
Qt 基本控制項的使用
控制項是介面設計的基本部件,也是各大qt元件中最基本的功能。本文將通過 講解qt中核取方塊 單選框 文字框 布局控制項的使用。首先建立乙個名為dialog的qdialog專案。然後回自動生成dialog.h dialog.c main.c。本文中的例子包括三個核取方塊的水平布局,並用核取方塊來設定文...
Qt常用控制項
qpushbutton的新增。iocn 新增資源檔案 顯示效果為 前面icon後面文字。一般用來新增文字。qtoolbutton的新增。iocn 新增資源檔案 顯示效果toolbuttonstyle中更改,預設toolbuttonicononly toolbuttontextbesidicon。文字...
QT樹控制項 QTreeView
方法一 使用qdirmodel進行目錄的現實,qdirmodel是qt中專為檔案目錄樹型顯示所提供的一種model。具體使用如下 方法二 自行設定樹型結構。treeview.h 檔案 include class treeview public qtreeview treeview.cpp 檔案 in...