• 4229阅读
  • 2回复

这样的connect应该怎么写呢,谢谢。 [复制链接]

上一主题 下一主题
离线wenrou
 
只看楼主 倒序阅读 楼主  发表于: 2006-08-09
我先定义主窗口在mainwindow.h里面
class ui : public MainWindow
{
  ……
  void createPagesWidget();
    QStackedWidget* pagesWidget;
    ScalingPage scalingpage;
  ……
}

然后在pages.h里面定义ScalingPage,里面有一个按钮toolbutton:
class ScalingPage : QWidget
{
  public:
  ScalingPage(QWidget *parent = 0);
  ……
  QToolButton* toolbutton;
  ……

}

然后想点击按钮toolbutton关闭整个应用程序,在mainwindow.cpp里面:
#include pages.h
ui::ui()
{
  ……
  createPagesWidget();
  ……
}

void ui::createPagesWidget()
{
  pagesWidget = new QStackedWidget(centralwidget);
  pagesWidget->addWidget(new ScalingPage);
  connect(ScalingPage.toolbutton,SIGNAL(clicked()),this,SLOT(close()));
  pagesWidget->addWidget(new CurvePage);
}

但是这样我点击按钮之后,程序没有任何反应。

请问这个connect应该写在什么地方啊,是pages.cpp还是mainwindow.cpp里面啊?
另外,他的接受对象不是this么?
[ 此贴被XChinux在2006-08-09 23:55重新编辑 ]
离线ediwon
只看该作者 1楼 发表于: 2006-08-09
void ui::createPagesWidget()
{
pagesWidget = new QStackedWidget(centralwidget);
ScalingPage *scaling = new ScalingPage();
pagesWidget->addWidget(scaling);
connect( scaling->toolbutton, SIGNAL( clicked() ), qApp, SLOT( quit() ) );
pagesWidget->addWidget(new CurvePage);
}
BLOG:
http://www.ediwon.com
-------------------------------
离线wenrou
只看该作者 2楼 发表于: 2006-08-10
谢谢:)
快速回复
限100 字节
 
上一个 下一个