MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//创建菜单栏
setWindowTitle(tr("Workspace"));
QMenu* menu =menuBar()->addMenu(tr("open"));
QAction * action = new QAction(tr("other"),this);
menu->addAction(action);
connect(action,SIGNAL(triggered()),workSpace,SLOT(newForm()));//连接插槽出
问题了 ???
workSpace = new QWorkspace; //此处改为this 单击menu,,,新建的
窗口无法
显示 //如果不改,则workspace表示无此插槽函数
setCentralWidget(workSpace);
}
定义一个插槽
void MainWindow::newForm()
{
MainWindow*mf=new MainWindow();
setWindowTitle(tr("newWindow"));
workSpace->addWidget(mf);//添加到workSpace
}
如果直接 写在构造函数里面如
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
//创建菜单栏
setWindowTitle(tr("Workspace"));
QMenu* menu =menuBar()->addMenu(tr("open"));
QAction * action = new QAction(tr("other"),this);
menu->addAction(action);
workSpace = new QWorkspace;
setCentralWidget(workSpace);
//创建新窗口
MainWindow*mf=new MainWindow();
setWindowTitle(tr("newWindow"));
workSpace->addWidget(mf);//添加到workSpace
}
可以创建成功
但是我想通过单击菜单 来弹出“不同”窗口 该怎样实现??
请各位大侠帮个忙啊!!!!
[ 此帖被oke8y在2011-03-19 13:47重新编辑 ]