|
1Qter豆
想实现这样一种功能,界面分两部分,
左边是一个treewidget,点击不同的treewidgetitem在界面右边显示不同的界面
这是实现交互的主要代码,使用了QSpliter类,
queryDevicePage和 sendCmdPage是两个继承自QWidgets的界面类,就是图中的两个界面,- deviceOpt::deviceOpt(QMainWindow *parent) : QMainWindow(parent)
- {
- _spliter = new QSplitter(this);
- _devTree = createTreeWidget();
- _spliter->addWidget(_devTree);
- _spliter->setStretchFactor(1,1);
- this->setCentralWidget(_spliter);
- connect(_devTree,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(slotItemClicked(QTreeWidgetItem*,int)));
- }
复制代码- void deviceOpt::slotItemClicked(QTreeWidgetItem *itm, int col)
- {
- if(itm->text(col) == tr("查看设备"))
- {
- _queryPage = new queryDevicePage;
- _spliter->addWidget(_queryPage);
- if(_cmdPage != NULL)
- _cmdPage->deleteLater();
- }
- if(itm->text(col) == tr("删除设备"))
- {
- qDebug() <<tr("删除设备")<< "clicked";
- }
- if(itm->text(col) == tr("发送指令"))
- {
- _cmdPage = new sendCmdPage;
- _spliter->addWidget(_cmdPage);
- if(_queryPage != NULL)
- _queryPage->deleteLater();
- }
- }
复制代码 有没有更好的实现方法呢?
|
|