随笔-18  评论-11  文章-12  trackbacks-0

        本例学习QDialog。预期目的:1. 组织多个窗体。2. 学习Dialog的相关属性。3. 学习一些widget。

        1. 本例中,定义了3个不同的PageWidget,都是从QWidget中派生。用户在左侧list更换后,切换到不同的配置页。

        2. QStackedWidget提供一组widget,但一次只能有一个显示。将这个widget添加到layout中。

        3. 在layout设置中,一般为MainWindow设置一个layout,然后向这个layout中添加不同的widget,layout。

        4. 一个窗体是Window或者Dialog,向这个窗体中添加其他的Widget,这些Widget可以使系统提供的,也可以是用户自己定义的。

        5. 本例中使用两次QListWidget。一次为图文,一次为文字。setViewMode(),设置ListWidget为图标模式。通过setIcon(),设置Item的图标。configButton->setIcon(QIcon(":/images/config.png"));

        6. 定义QListWidgetItem的父类为QListWidget,设置QListWidget的项。或者使用addWidget()之类的方法。

        7. 左侧select切换时,if(!current)  current = previous;防止current为0的意外情况。

        8. 自定义了一个slot,用来处理contentList被选中项切换时,相应的处理方法。也就是设置stackedWidget的被选中项。通过contentlist的row()确定index,然后设置第index项为当前item。

posted on 2009-03-08 22:20 ronliu 阅读(742) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理