qt for symbian GUI 小积累

QListWidget和QStackedWidget的使用:
QListWidget继承于QListView,最原始的是QWidget类。QStackedWidget也是继承于QWidget类。

 

新建QListWidget类contentsWidget 对象,如下:

    contentsWidget = new QListWidget ;

    
contentsWidget->
setViewMode(
QListView
::
IconMode);
    
contentsWidget->
setIconSize(
QSize
(
96
,
 
84
));
    
contentsWidget->
setMovement(
QListView
::
Static);

    QListWidgetItem * configButton = new QListWidgetItem ( contentsWidget);
configButton-> setIcon( QIcon ( ":/images/config.png" ));
configButton-> setText( tr( "Configuration" ));
configButton-> setTextAlignment( Qt :: AlignHCenter);
configButton-> setFlags( Qt :: ItemIsSelectable | Qt :: ItemIsEnabled);
QListWidgetItem 就是QListWidget里面的小item了,可以添加你需要的数量。
connect( contentsWidget,
SIGNAL ( currentItemChanged( QListWidgetItem *, QListWidgetItem *)),
this , SLOT ( changePage( QListWidgetItem *, QListWidgetItem *)));
这个changePage自己定义吧,看你需要做什么。前面个是当前的item,后面个参数是前一个item。
contentsWidget-> row( current);其中current是 QListWidgetItem * ,row获取这个item的index。

结合QStackedWidget
    pagesWidget = new QStackedWidget ;
pagesWidget-> addWidget( new ConfigurationPage);
直接添加你的widget就ok了。
ConfigurationPage是自定义的widget。
可以通过
pagesWidget-> setCurrentIndex( contentsWidget-> row( current));来设置当前显示的widget。
stack顾名思义就是一个类似栈的东西,当前只显示一个widget,可以通过index进行插入,删除之类的操作。

你可能感兴趣的:(qt,Symbian,Signal)