当前位置: 代码迷 >> QT开发 >> QT 小弟我求解!给为大哥大姐,帮小弟我看看是什么原因吧!
  详细解决方案

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

热度:88   发布时间:2016-04-25 04:52:06.0
QT 我求解!给为大哥大姐,帮我看看是什么原因吧!!
[code=C/C++][/code]
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达人给我点建议!!

------解决方案--------------------
ui->pushButton
------解决方案--------------------
哪有这么复杂,既然用了UI,在button上右键->转到槽,自动就会生成槽函数。
------解决方案--------------------
探讨

ui->pushButton

------解决方案--------------------
void Dialog::on_pushButton_clicked()
{
mywindow p;
p.show();
}
这是你的槽函数。
p是一个在栈上的变量,这个函数结束是p被销毁,窗口就没了,
其实已经显示在屏幕上了,太快看不见。
p应该声明为类成员变量。
void Dialog::on_pushButton_clicked()
{
if(!p)
p = new mywindow;
p.show();
}
  相关解决方案