• 7409阅读
  • 4回复

qt中从ui文件中生成头文件单继承时Q_OBJECT问题 [复制链接]

上一主题 下一主题
离线metalchen
 

只看楼主 正序阅读 楼主  发表于: 2008-05-13
— 本帖被 XChinux 执行加亮操作(2008-05-14) —
在ui生成的头文件,时利用单继承时,使用Q_OBJECT关键字编译出错误提示‘qt_metacast’ is not a member of ‘Ui_Form’  ‘qt_metacall’ is not a member of ‘Ui_Form’,具体代码如下:

#ifndef MY_FRAME_H
#define MY_FRAME_H
#include "ui_test_dynmaic.h"

class MyFrame:public Ui_Form
{
    //Q_OBJECT  这行不写没问题。
    public:
    MyFrame(QWidget *parent=0);
};
#endif

我个人感觉可能是moc问题。。但具体不知道。我使用多重继承时没有问题。
离线foxyz

只看该作者 4楼 发表于: 2008-08-22
代码不贴全!!!无法给出回答!
给你个提示!如果你的ui是使用designer产生出来的*.ui文件
那个所谓的单一继承应该是这样的:
class MyFrame:public Ui::Ui_Form
因为自动产生的ui_xxxx.h把它的类放在namespace Ui里
离线gonboy

只看该作者 3楼 发表于: 2008-08-22
not "public ui_form"


must "public QWidget"
离线lzian
只看该作者 2楼 发表于: 2008-05-13
你定义了多少个窗口类啊,怎么我看的很乱呢
离线hatoyu

只看该作者 1楼 发表于: 2008-05-13
我是另外的问题:

findfileform.cpp:7: error: no matching function for call to 'Ui_FindFileForm::setupUi(CFindFileForm* const)'
ui_findfileform.h:64: note: candidates are: void Ui_FindFileForm::setupUi(QDialog*)


报错信息如上

源码是精通 QT4编程 这本书的第三章  单一继承方式那段
[ 此贴被hatoyu在2008-05-13 11:51重新编辑 ]
快速回复
限100 字节
 
上一个 下一个