ToolBox是QT的一个控件,用于显示一系列可展开/折叠的分组框。可以在每个分组框中添加任意数量的控件。
以下是一个简单的C++示例,演示如何使用ToolBox:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
QVBoxLayout* layout = new QVBoxLayout(&window);
QToolBox* toolBox = new QToolBox(&window);
// 添加分组框1
QWidget* group1Widget = new QWidget(toolBox);
QVBoxLayout* group1Layout = new QVBoxLayout(group1Widget);
QLabel* label1 = new QLabel("This is group 1", group1Widget);
QPushButton* button1 = new QPushButton("Button 1", group1Widget);
QPushButton* button2 = new QPushButton("Button 2", group1Widget);
group1Layout->addWidget(label1);
group1Layout->addWidget(button1);
group1Layout->addWidget(button2);
// 添加分组框2
QWidget* group2Widget = new QWidget(toolBox);
QVBoxLayout* group2Layout = new QVBoxLayout(group2Widget);
QLabel* label2 = new QLabel("This is group 2", group2Widget);
QPushButton* button3 = new QPushButton("Button 3", group2Widget);
QPushButton* button4 = new QPushButton("Button 4", group2Widget);
QLineEdit *lineEdit=new QLineEdit(group2Widget);
lineEdit->setText(tr("请输入文本"));
lineEdit->selectAll();
QTextBrowser *text=new QTextBrowser(group2Widget);
text->setPlainText(tr(""));
connect(lineEdit,SIGNAL(textChanged(QString)),text,SLOT(setPlainText(QString)));
group2Layout->addWidget(label2);
group2Layout->addWidget(button3);
group2Layout->addWidget(button4);
group2Layout->addWidget(lineEdit);
group2Layout->addWidget(text);
// 将分组框添加到ToolBox中
toolBox->addItem(group1Widget, "Group 1");
toolBox->addItem(group2Widget, "Group 2");
layout->addWidget(toolBox);
window.show();
return app.exec();
}
在此示例中,我们创建了一个QToolBox和两个QWidget,每个QWidget都包含一些标签、按钮和其他控件。然后我们将这些QWidget添加到QToolBox中,并为它们设置标题。
最后,将QToolBox添加到窗口布局中,并显示窗口。
注意:由于没有提供自己的样式表,因此代码使用默认的QT样式来显示应用程序。如果您希望更改外观,请考虑使用样式表或使用现成的主题/皮肤库。