可以在myWidget中定义两个槽函数,分别处理这两个按钮的点击事件。然后,在初始化stackWidget时,将这两个槽函数与对应的按钮信号连接起来。具体操作如下:
- 在myWidget.h文件中定义两个槽函数,如下所示:
private slots:
void onButton1Clicked();
void onButton2Clicked();
- 在myWidget.cpp文件中实现这两个槽函数,例如:
void myWidget::onButton1Clicked()
{
// 处理按钮1的点击事件
stackWidget->setCurrentIndex(0); // 切换到第一个界面
}
void myWidget::onButton2Clicked()
{
// 处理按钮2的点击事件
stackWidget->setCurrentIndex(1); // 切换到第二个界面
}
- 在myWidget的构造函数中创建这两个按钮,并将它们与对应的槽函数连接起来。例如:
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
// 创建工具栏和按钮
QToolBar *toolBar = new QToolBar(this);
QAction *action1 = toolBar->addAction("Button 1");
QAction *action2 = toolBar->addAction("Button 2");
// 连接按钮信号和槽函数
connect(action1, &QAction::triggered, this, &myWidget::onButton1Clicked);
connect(action2, &QAction::triggered, this, &myWidget::onButton2Clicked);
// 添加工具栏到界面中
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(toolBar);
layout->addWidget(stackWidget); // stackWidget是存放中心界面的stacked widget
}
这样,当用户点击工具栏上的按钮时,对应的槽函数就会被调用,然后根据需要切换到不同的界面。