• 5753阅读
  • 7回复

[提问]自己写的类老有问题。。 [复制链接]

上一主题 下一主题
离线starfall
 
只看楼主 倒序阅读 楼主  发表于: 2013-03-25
Test.h
#ifndef TEST_H
#define TEST_H
#include <QDialog>
#include <QLabel>
#include <QVBoxLayout>
class Newtype : public QDialog
{
public:
Newtype(QWidget* parent): QDialog(parent)
{
label->setText("try");
layout->addWidget(label);
setLayout(layout);
}
private:
QLabel *label;
QVBoxLayout *layout;
};
#endif
main.cpp
#include <QApplication>
#include "Test.h"
#include <QtCore>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Newtype* p = new Newtype; // qt creator 说这句没有默认的Newtype构造函数可用。
p->show();
return a.exec();
}
卡了我好久了。。 之前是各种未解析的外部符号 外部指令。。 然后我改成这个简单的了,结果还是错。 各种百度基本没用。。
是windows下的qt creator 4.8.4 .. 。。。崩溃了都。。。
离线tmacai

只看该作者 1楼 发表于: 2013-03-25
Newtype(QWidget* parent /* = 0 */ )
离线jdwx

只看该作者 2楼 发表于: 2013-03-25
回 楼主(starfall) 的帖子
建议用QtCreator生成一个C++类,看一下写法。
Qt对于继承QObject的类有要求,必须分为h和cpp两个文件。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线starfall
只看该作者 3楼 发表于: 2013-03-25
回 2楼(jdwx) 的帖子
-_-,,,话说怎么生成。。  我把那部分弄到Test.cpp里面了 可是编译还是挂了的样子。。
13:20:29: Running steps for project ca...
13:20:29: 配置没有改变, 跳过 qmake 步骤.
13:20:29: 正在启动 "D:\Qt\qtcreator-2.6.0\bin\jom.exe"
{1"?} {2?}
    D:\Qt\qtcreator-2.6.0\bin\jom.exe -f Makefile.Debug
Error: dependent '..\ca\finddialog.h' does not exist.
jom: D:\QTobjs\ca-build-Desktop-Debug\Makefile [debug] Error 2
13:20:30: 进程"D:\Qt\qtcreator-2.6.0\bin\jom.exe"退出,退出代码 2 。
Error while building/deploying project ca (target: Desktop)
When executing step 'Make'

好像是make失败了  - - !   还是不知道哪错了。。
离线starfall
只看该作者 4楼 发表于: 2013-03-25
回 2楼(jdwx) 的帖子
在.pro文件里面加入了test.h和test.cpp    不报错了。。但是一点开就终止 , 退出代码 -1073741819    这是什么原因。。。
离线jdwx

只看该作者 5楼 发表于: 2013-03-25
回 4楼(starfall) 的帖子
第一部分
label = new QLabel(this);
layout = new QVBoxLayout;

label->setText("try");
layout->addWidget(label);
setLayout(layout);
第二部分
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Newtype p;
p.show();

return a.exec();
}
改改再试试。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线彩阳

只看该作者 6楼 发表于: 2013-03-25
少了Q_OBJECT。这个一般写在构造函数前面。
此外简历Qt工程在Windows下不得有中文和空格,否则qmake出错。
上海Qt开发联盟,热忱地欢迎你的加入!
离线starfall
只看该作者 7楼 发表于: 2013-03-25
回 5楼(jdwx) 的帖子
可以了~   竟然是因为只设了指针。。。。      多谢了~
快速回复
限100 字节
 
上一个 下一个