用toolbox时 效果图如图
问题1,我想让toolbox每一个tab的height 根据内容设置,填充空白,问题2,我想在同时间打开多个tab,默认只打开一个。用treewidget时 效果如
问题,如何让item A 的子item 在控件最左边 前面的空白填充!!!目的是为了类似UI界面 控件列表的效果代码如下 toolbox: QToolBox * qtb = new QToolBox(groupBox1); // qtb->setStyleSheet("QToolBoxButton { min-height:20px; }"); //第一个抽屉 QGroupBox * gb1 = new QGroupBox(qtb); QIcon icon1("1.png"); //QVBoxLayout *layout = new QVBoxLayout(gb1); QListWidget * qlw = new QListWidget(gb1); qlw->addItem(new QListWidgetItem(QIcon(QObject::tr("4.png")), QObject::tr("view1"))); qlw->addItem(new QListWidgetItem(QIcon(QObject::tr("4.png")), QObject::tr("view2"))); int lw_height = (qlw->height() - 9 ) * qlw->count(); qlw->setGeometry(0,0,100,lw_height); //layout->addWidget(qlw); //qlw->setStyleSheet("background-color:blue;"); //第二个抽屉 QGroupBox * gb2 = new QGroupBox(qtb); QIcon icon2("2.png"); //第三个抽屉 QGroupBox * gb3 = new QGroupBox(qtb); QIcon icon3("3.png"); //添加抽屉 qtb->addItem((QWidget*)gb1,tr("views")); qtb->addItem((QWidget*)gb2,tr("buttons")); qtb->addItem((QWidget*)gb3,tr("lists")); qtb->setItemIcon(0,icon1); qtb->setItemIcon(1,icon2); qtb->setItemIcon(2,icon3); qtb->layout()->setSpacing(0); //qtb->widget(0)->setStyleSheet("QToolBox::item{height:25px}"); //qtb->setGeometry(0,0,100,lw_height+75); qtb->setGeometry(0,0,100,300); //qtb->setLineWidth(200);-------------------------------------------------------------------------------------------treewidget: QTreeWidget* treeWidget = new QTreeWidget(groupBox1); treeWidget->setColumnCount(1); QStringList headers; headers << QObject::tr("列表"); treeWidget->setHeaderLabels(headers); QStringList A; A << QObject::tr("A"); QTreeWidgetItem *Aroot = new QTreeWidgetItem(treeWidget, A); QStringList zhangsanChinese; zhangsanChinese << QObject::tr("标签页"); QTreeWidgetItem *leaf1 = new QTreeWidgetItem(Aroot, zhangsanChinese); leaf1->setIcon(0, QIcon("2.png")); Aroot->addChild(leaf1); QStringList zhangsanMath; zhangsanMath << QObject::tr("标签名"); QTreeWidgetItem *leaf2 = new QTreeWidgetItem(Aroot, zhangsanMath); leaf2->setIcon(0, QIcon("1.png")); Aroot->addChild(leaf2); QStringList B; B << QObject::tr("B"); QTreeWidgetItem *Broot = new QTreeWidgetItem(treeWidget, B); QStringList C; C << QObject::tr("C"); QTreeWidgetItem *Croot = new QTreeWidgetItem(treeWidget, C); //QTreeWidgetItem* A = new QTreeWidgetItem(treeWidget,QStringList()<<"A"); //A->setIcon(0, QIcon("1.png")); //A->setCheckState(0, Qt::Checked); // QTreeWidgetItem* B = new QTreeWidgetItem(treeWidget,QStringList()<<"B"); // B->setIcon(0, QIcon("2.png")); // B->setCheckState(0, Qt::Checked); // QTreeWidgetItem* C = new QTreeWidgetItem(treeWidget,QStringList()<<"C"); // C->setIcon(0, QIcon("3.png")); // C->setCheckState(0, Qt::Checked); treeWidget->addTopLevelItem(Aroot); treeWidget->addTopLevelItem(Broot); treeWidget->addTopLevelItem(Croot); //treeWidget->setStyleSheet("QTreeWidget::item{height:25px}"); treeWidget->setGeometry(0,0,200,400); QHBoxLayout *mainlayout = new QHBoxLayout; mainlayout->addWidget(treeWidget);