• 8229阅读
  • 7回复

小弟刚学QT4一个星期,不懂……请问大侠! [复制链接]

上一主题 下一主题
离线ct-hunter
 
只看楼主 倒序阅读 楼主  发表于: 2010-08-04
— 本帖被 XChinux 执行加亮操作(2010-09-03) —
我在在QT Designer中添加了“退出”按钮,但是没有在QT Designer中设置SIGNAL/SLOT。
想要在.cpp文件中去实现,可是我发现不行,不知道怎么弄啊……
ui_mytext2.h文件中这样定义的: QPushButton *QuitButton;

mytext2.h文件如下:
#ifndef MYTEXT2_H
#define MYTEXT2_H
#include <QtGui/QWidget>
#include "ui_mytext2.h"
class mytext2 : public QWidget,public Ui_mytext2Class(为了后面调用QuitButton而设置的类继承)
{
 Q_OBJECT
public:
 mytext2(QWidget *parent = 0, Qt::WFlags flags = 0);
 ~mytext2();
 void on_pushButton_quit_clicked();
private:
 Ui::mytext2Class ui;
};
#endif // MYTEXT2_H


mytext2.cpp文件如下:
#include "mytext2.h"

mytext2::mytext2(QWidget *parent, Qt::WFlags flags)
 : QWidget(parent, flags)
{
 ui.setupUi(this);
}
void mytext2::on_pushButton_quit_clicked()
{
 connect(Ui_mytext2Class::QuitButton,SIGNAL(clicked()),qApp,SLOT(quit()));
}
mytext2::~mytext2()
{
}


等待大侠回答啊!

离线dbzhang800

只看该作者 1楼 发表于: 2010-08-04
第一步:将你添加的那个,就是带下划线的那个,去掉!
离线ct-hunter
只看该作者 2楼 发表于: 2010-08-04

离线ct-hunter
只看该作者 3楼 发表于: 2010-08-04
回 1楼(dbzhang800) 的帖子
那就报错说: error C2597: 对非静态成员“Ui_mytext2Class::QuitButton”的非法引用
cpp问价好像就不能用QuitButton这个控件了呀……
怎么办啊?
离线dbzhang800

只看该作者 4楼 发表于: 2010-08-04
恩,这就是第二步了,将其改为 ui.QuitButton
离线ct-hunter
只看该作者 5楼 发表于: 2010-08-04
我看很多例子里面是直接用程序来建立控件,并添加相应的响应上去的。我光用代码也写得出来,但是要设计一个比较复杂的界面,并添加一些功能上去的话就比较麻烦,就是界面设计得总感觉右问题,问了别的同事说这样来做比较快,也方便修改界面。可是我碰到的问题直接就是不知道怎么去响应……希望能有大侠帮助!
离线ct-hunter
只看该作者 6楼 发表于: 2010-08-04
行啦!不报错啦!谢谢!
不过好像Quit键还是不能用。
我把 connect(ui.QuitButton,SIGNAL(clicked()),qApp,SLOT(quit()));直接加到构造函数
mytext2::mytext2(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
ui.setupUi(this);
connect(ui.QuitButton,SIGNAL(clicked()),qApp,SLOT(quit()));
}

才行……
离线ct-hunter
只看该作者 7楼 发表于: 2010-08-04
回 4楼(dbzhang800) 的帖子
行啦!不报错啦!谢谢!
不过好像Quit键还是不能用。
我把 connect(ui.QuitButton,SIGNAL(clicked()),qApp,SLOT(quit()));直接加到构造函数
mytext2::mytext2(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
ui.setupUi(this);
connect(ui.QuitButton,SIGNAL(clicked()),qApp,SLOT(quit()));
}

才行……
快速回复
限100 字节
 
上一个 下一个