看板 C_and_CPP 關於我們 聯絡資訊
我最近在測試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
liaommx:剛剛看到問題了...因為初值是空的. 11/17 20:39
liaommx:忘了home先去new 一個QLabel...y 11/17 20:40
liaommx:不好意思,有網友跟我說為什麼我才發現的..>"<.. 11/17 20:41