首页 > 编程知识 正文

qt绘图控件,qtreeview样式表

时间:2023-05-05 12:47:44 阅读:19513 作者:2821

自转: http://mobile.51cto.com/Symbian-268700.htm

本文说明了QT中木控件QTreeView开发实例。 因为很少介绍QTreeView,所以不要胡说,让我们来看看代码是如何实现的。

ZD HLB :使用qdi rmodel创建目录的现实。 qdirmodel是QT专门为文件目录的树显示提供的model。 具体使用如下。

1intmain(intargv,char *argv[] )2)3qapplication app (argc,argv ); 4 q splitter * splitter=newq splitter; 5 qdi rmodel * model=新qdi rmodel; 6 //从默认目录创建数据7 qtreeview * tree=newq treeview (splitter ); 8三组模型(模型; 9三叉树设置索引(模型索引) c: (() ); 将view配置为显示10//model中的数据。 它只是调用setModel (,并使用目录model作为参数传递11 //setRootIndex )以告诉views将显示哪些目录。 这需要提供模型索引。 然后,用该12 //model index向model取数据的13 //index ()这个函数是QDirModel特有的,通过将一个目录作为参数,可以求出所需的model index 14 //其他的函数进入程序事件循环时为15 qtext codec 33603360 setcodecfortr (qtext codec 33603360 codec forname (' gbk ' ) ); //中文显示16 qtext codec * codec=qtext codec :3360 codecforlocale (; 17 QString a=codec-toUnicode (目录); 18拆分器设置窗口标题(a; 19拆分器- show (; 20返回app.exec (; 21 )显示结果如下:

方法二:自行设置树形结构。

“Treeview.h”文件

1 # includeqtgui2class treeview 3360 publicqtreeview3{4public :5 treeview (; 6语音识别器(; 7 qlistqstandarditem * returntheitems (; 8语音音频客户端(qmouseevent *事件); 9私密:10 qstandarditemmodel * model; 11 ); “Treeview.cpp”文件

1 # include ' treeview.h ' 23 treeview :3360 treeview () : QTreeView ) )4)5qtext codec 3360: setcodecfortr ) qtext codect 7模型设置器数据(0,Qt:Horizontal,tr('service ' ); 8model-setheaderdata(1,Qt:Horizontal,tr('details ' ); 9 qstandarditem * item1=newqstandarditem (avahi-daemon ); 10 item1- seticon (qi con (gparted.png ); 11 qstandarditem * item2=newqstandarditem ('蓝牙); 12 item2- seticon (qi con (gparted.png ); 13 qstandarditem * item3=newqstandarditem (' crond ' ); 14 item3- seticon (qi con (gparted.png ); 15 qstandarditem * item4=newqstandarditem (' cups ); 16 item4- seticon (qi con (gparted.png ); 17型号设置(0,0,item1); 18mo del-setitem (1,0,item2); 19型号设置(2,0,item3); 20型号设置(3,0,item4); 21 qstandarditem * item5=newqstandarditem (' fifth ); 2item4-appendrow(item5; 23 QModelIndex parent; 24for(intI=0; i 4; I ) 25 parent=模型索引(0,0,parent ); 26型号插入行(0,1,parent ); 27模型插入列(0,1,parent ); 28 qmodelindexindex=model-index (0,0,parent ); 29模型设置(索引,I ); 30 ) 31千兆集模型(模型; 32 ) 3334 qlistqstandarditem * treeview 33603360 returntheitems (35 ) 36returnmodel-finditems(*, Qt3360:matchwatch 37 ) 3839 void treeview :3360 iterateoveritems () 40 { 41 qlistqstandarditem * list=returntheitems ) ) 2443 foreach (标准项目,列表) { 44 q调试) item-text ); 45}46 ) 4748 void treeview 33603360 mousedoubleclickevent (qmouseevent * event ) 49 ) 50if ) event-button )==Qt 3360333333330 5550 53 } 54 } 'Main.cpp '文件

1 # includeqtgui/qapplication2# include ' treeview.h '3(4int main (int argv,char *argv[] ()5)6qapplication aplion app 8 view.setedittriggers (qabstractitemview :3360 noedittriggers; 9 view.header (-setresizemode (qheaderview :3360 resizeto contents ); 10 view.resize (300,280 ); 11 view.iterateOverItems (; 12 view.set window title (q object :3360 tr ) (Linux服务管理) ); 13 view.show (; 14返回app.exec (; 15 )标识:

以上是TreeView的两种型号。

总结:本文简要介绍了用QT树控件QTreeView ,简单实例实现QTreeView的价值。Qt4推出了一个新的item view类,它使用model/view结构来管理数据与表示层之间的关系。 这种结构隔离功能提高了开发人员自定义数据项表示的灵活性,还提供了标准的model界面,使更多数据源可供这些item view使用。

转载于:https://www.cn blogs.com/jpdxxm/archive/2012/11/22/2782085.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。