c++的qtoolbox代码举例
时间: 2024-10-22 17:23:18 浏览: 21
<c++爱心代码大全>
在C++中,Qt库提供了强大的界面组件,包括QToolBox,它是一个可以存放多个QWidget的容器,用户可以通过标签选择显示的内容。下面是一个简单的QToolBox的例子:
```cpp
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QToolBox>
#include <QPushButton>
// 定义一个基础的QWidget子类,代表QToolBox中的每个选项
class ToolboxItem : public QWidget {
public:
explicit ToolboxItem(const QString &title, QWidget *parent = nullptr)
: QWidget(parent), title(title) {
setWindowTitle(title);
QPushButton *button = new QPushButton("Click me!", this);
connect(button, &QPushButton::clicked, this, &ToolboxItem::onButtonClicked);
QVBoxLayout *layout = new QVBoxLayout(this);
layout.addWidget(button);
}
private slots:
void onButtonClicked() {
qDebug() << "Button clicked in " << title;
}
private:
QString title;
};
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建QToolBox对象
QToolBox *toolbox = new QToolBox;
// 创建并添加几个 ToolboxItem
ToolboxItem *item1 = new ToolboxItem("Item 1");
toolbox->addItem(item1, "Item 1");
ToolboxItem *item2 = new ToolboxItem("Item 2");
toolbox->addItem(item2, "Item 2");
// 将QToolBox添加到主窗口
QWidget *mainWindow = new QWidget;
QVBoxLayout *mainLayout = new QVBoxLayout(mainWindow);
mainLayout->addWidget(toolbox);
mainWindow->show();
return app.exec();
}
```
在这个例子中,我们创建了一个名为`ToolboxItem`的自定义QWidget,然后在QToolBox中添加了两个这样的项,每个项都有一个按钮。当点击按钮时,会打印出对应的标题信息。
阅读全文