Qt项目突然停止建设。 因此,作为新刚创建的基于QDialog或示例的空项目。 清洁,重建无济于事。

关键错误日志:

/Users/dmitrytolstov/Workspace/Qt521/5.2.1/clang_64/lib/QtWidgets.framework/Versions/5/Headers/qdialog.h:117: 
error: unknown type name 'QDialog'  
Q_DISABLE_COPY(QDialog)

/Users/dmitrytolstov/Workspace/Qt521/5.2.1/clang_64/lib/QtWidgets.framework/Versions/5/Headers/qdialog.h:117: 
error: C++ requires a type specifier for all declarations 
Q_DISABLE_COPY(QDialog)

/Users/dmitrytolstov/Workspace/Qt521/5.2.1/clang_64/lib/QtWidgets.framework/Versions/5/Headers/qdialog.h:117: 
error: unknown type name 'QDialog'

/Users/dmitrytolstov/Workspace/CC++/QtStuff/NewDiaproj/dialog.h:10: 
error: unknown class name 'QDialog'; did you mean 'Dialog'?
class Dialog : public QDialog

/Users/dmitrytolstov/Workspace/CC++/QtStuff/NewDiaproj/dialog.h:10: 
error: base class has incomplete type
class Dialog : public QDialog

/Users/dmitrytolstov/Workspace/CC++/QtStuff/NewDiaproj/main.cpp:8: 
error: no member named 'show' in 'Dialog'
w.show();

7 errors generated.
make: *** [main.o] Error 1
18:46:36: Process «/usr/bin/make» exit with code 2.

似乎qdialog.h发生了什么。 顺便说一下,QMainWindow上的项目可以正常工作。 我什么也没做 试图重新打开QtCreator,重新启动计算机。 我使用Mac OS X和Qt 5.2.1

QtCreator提供的任何示例或基于QDialog的空项目。 例如: dialog.cpp:

#include "dialog.h"

Dialog::Dialog(QWidget *parent) :
    QDialog(parent)
{
}

Dialog::~Dialog()
{
}

dialog.h

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();

};

#endif // DIALOG_H

main.cpp中

#include "dialog.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    w.show();

    return a.exec();
}

NewDiaproj.pro

#-------------------------------------------------
#
# Project created by QtCreator 2014-04-20T19:31:45
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = NewDiaproj
TEMPLATE = app


SOURCES += main.cpp\
        dialog.cpp

HEADERS  += dialog.h

===============>>#1 票数:1 已采纳

基于您的文件对我在带有Qt 5.2的Archlinux上正常工作的事实,我认为您在Qt安装中的QDialog文件被意外或“重大影响”操作损坏了。

干净地重新安装它,然后它应该可以正常工作。

  ask by JiaYouRen translate from so

未解决问题?本站智能推荐:

1回复

Qt中的内存管理:AddressBook教程

所以,我到目前为止已经了解到,当父对象被删除时,Qt会释放所有子对象的内存。 此外,人们通常不必关心在堆栈上创建的对象的内存管理(即不作为指针)。 现在,当我做了非常好的“AddressBook”教程时 ,我在第5部分中找到了这个: 提供完整的源代码: addressbook.h
1回复

Qt-对主菜单上的QDialog选择感到困惑

我有以下Qt代码: 这似乎可行,但是在某些asm行中出现“事件分派器清理”错误。 我尝试了一些技巧,然后发现问题与app.exec()调用有关。 更新:如果我将这些行添加到ChoosingDialog中(这是Qt Creator自动生成的简单空白类) 我没有收到任何错误
2回复

这个Qt代码会泄漏内存吗?

我试图通过学习使用UML的开源来学习更多有关编程的知识。 我发现的代码处于Qt 3和Qt 4之间的阶段。该项目不是那么活跃,所以我在这里问这个问题。 也许我应该补充一点,使用此代码的程序确实可以运行。 注意,我是大三。 我问是因为我想学习 。 我的问题很简单: 此代码会泄漏
2回复

将变量传递给其他对话框Qt

我有一个带有文本文件列表的QTreeView 。 如果选择了一个文件,并且void FileList_dialog::on_openButton_released() ,则应将变量path传递给对话框textFile_dialog 。 到目前为止,我已经做到了: 但是,如何将变量
1回复

具有隐藏和WA_QuitOnClose的Qt QDialog

我有一个问题,我在main()中这样调用QDialog: 在QDialog中,我有以下代码: 这是一个非常简单的代码,问题是:setVisible(false)或hide()行显示了About窗口,但是一旦关闭该窗口,就会发送“拒绝”对话框代码,并且我的应用程序会关闭执行
1回复

Qt链接问题

这小段代码为我提供了链接器错误LNK2019和LNK1120如果删除函数void MainWindow :: on_actionDoit_triggered()中的三行,它将起作用。 我正在关注的教程没有警告链接器问题
1回复

Qt创建者:窗口小部件未添加到布局

所以我有一个用QT Creator设计的GUI。 因为必须添加createWindowContainer小部件,所以必须通过c ++将小部件添加到代码中。 我正在添加一个简单标签来测试实现此目的的最佳方法。 不幸的是,尽管程序可以编译,但未显示该小部件。 实际上显示了我的主窗口,
2回复

使用Qt Designer的选项卡式对话框

我是Qt的新手,并且使用Qt Designer设计的TabbedDialog框有问题。 我有一个Dialog dlg,上面放置了一个TabWidget MyTabWidget,其中包含两个选项卡Tab1和Tab2。 我想为每个选项卡制作单独的cpp文件,并在各自的文件中定义功能。 我遇到的
3回复

从qt中的对话框打开新对话框

我试图从按钮单击事件的现有对话框中打开一个新的对话框窗口,但我无法执行此操作,因为我从MainWindow打开了对话框窗口。 我正在尝试: 是否有一种不同的方式从现有的对话框窗口打开对话框窗口???
3回复

在Qt中更改单选按钮文本颜色

我已经尝试了样式表,html格式和调色板来将单选按钮的颜色更改为白色,但它们不起作用。 有没有办法改变它? 在QRadioButton的文档中,没有文本颜色的功能。