QT 我求解!给为大哥大姐,帮我看看是什么原因吧!!

c562731235 2012-02-23 11:47:02

Dialog.cpp file

#include "dialog.h"
#include "ui_dialog.h"
#include "mywindow.h"

Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
ui->setupUi(this);
connect(pushButton, SIGNAL(clicked()),this, SLOT(on_pushButton_clicked()));

}

Dialog::~Dialog()
{
delete ui;
}
void Dialog::on_pushButton_clicked()
{
mywindow p;
p.show();
}

void Dialog::changeEvent(QEvent *e)
{
QDialog::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}

mywindow.cpp

#include "mywindow.h"
#include "ui_mywindow.h"

mywindow::mywindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::mywindow)
{
ui->setupUi(this);
}

mywindow::~mywindow()
{
delete ui;
}

void mywindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}



我想实现的功能是在dialog框里 点击一下button 按钮 就弹出 那个 mywindow 窗体, 但是编译的时间我不知道那里错了出现:"pushButton "was not declare in this scope ;




真的很郁闷,我测试了其他的,但是这样写都没有错,就是这个这样就有问题了!我真是求解,急用, 希望给为QT达人给我点建议!!
...全文
120 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
FingerStyle 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dext 的回复:]

ui->pushButton
[/Quote]

jdwx 2012-02-24
  • 打赏
  • 举报
回复
哪有这么复杂,既然用了UI,在button上右键->转到槽,自动就会生成槽函数。
O湛狼O 2012-02-24
  • 打赏
  • 举报
回复
connect(pushButton, SIGNAL(clicked()),this, SLOT(on_pushButton_clicked()));

pushButton声明在哪里?要是在ui文件就ui->pushButton.打开ui文件看看是不是这个名字
jdwx 2012-02-24
  • 打赏
  • 举报
回复
void Dialog::on_pushButton_clicked()
{
mywindow p;
p.show();
}
这是你的槽函数。
p是一个在栈上的变量,这个函数结束是p被销毁,窗口就没了,
其实已经显示在屏幕上了,太快看不见。
p应该声明为类成员变量。
void Dialog::on_pushButton_clicked()
{
if(!p)
p = new mywindow;
p.show();
}
c562731235 2012-02-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jdwx1 的回复:]
哪有这么复杂,既然用了UI,在button上右键->转到槽,自动就会生成槽函数。
[/Quote]
你说的没错,但是那只是函数名,我那样写能实现我的页面跳转的功能吗,我试了,但是不行,请高手再指点一二吧!!
dext 2012-02-24
  • 打赏
  • 举报
回复
ui->pushButton

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧