现在有两个Qt文件,一个是mainWindow,有一个菜单,菜单下有标签;另一个是Qwidget,可以实现计算器功能(cpp文件中有六个方法)。
我想达成点击标签,弹出计算器的功能,即将两个文件合在一起,应该如何实现?
你说的标签应该是行为吧
直接连接 信号槽
自己定义一个槽函数
void Tree_Dock::openCal()//打开计算器
{
calcu=new Calculator;
calcu->show();
}
mainwindow构造中连接
connect(openAction,&QAction::triggered,this,&Tree_Dock::openCal);
mainwindow头文件中声明对象
//计算器窗口对象
Calculator* calcu;//头文件中声明
// 绑定菜单的行为信号和处理槽函数(使用一个槽统一管理子菜单的功能)
connect(ui->menuBar, SIGNAL(triggered(QAction*)), this, SLOT(slot_menuBar(QAction*))); // 放在 mainWindow 构造函数
// 槽函数
void MainWindow::slot_menuBar(QAction* arg)
{
QString actionText = arg->text();
// 菜单功能 -- 计算器
if(actionText == "计算器") {
CalculatorWidget w; // 计算器widget窗口类
w.exec(); // 显示
}
// 菜单功能 -- 其他功能
else if(actionText == "功能2") {
//
}
}