[問題] QT無法呼叫於.h檔下宣告過的obj?
我最近在測試QT,
發現一個很奇怪的問題,
用QT creator create一個Qwidget
不要用UI的話,
會產生三個檔案,
一個是Widget.h,一個是main.cpp,另一個是Widget.cpp
main.cpp的內容相當簡單,
#include <QtGui/QApplication>
#include "widget.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec();
}
可是有問題的是在Widget.h與Widget.cpp上,
請見下列著色的部分
著色的部分,我在.h上面宣告,
為什麼不能直接於.cpp上使用呢?
雖然可以compile過,可是只要一在cpp呼叫,
程式就會直接當掉,然後return code -10(下略許多數字)
可是我想達到的效果必須要在.h和.cpp使用之,
(label新增clicked的效果)
這是google到的作法,
不過有友人問我說,
為什麼不自己新增一個class繼承label與button就好?
這我完全聽不懂了,有沒有人可以解答我的疑惑?
--
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
#include <QLabel>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QLabel *home;
};
#endif // WIDGET_H
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
home->show();
}
Widget::~Widget()
{
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.228.78
→
11/17 20:39, , 1F
11/17 20:39, 1F
→
11/17 20:40, , 2F
11/17 20:40, 2F
→
11/17 20:41, , 3F
11/17 20:41, 3F