下面这个简单的程序,就是在QT中显示 .UI 文件 。以前我曾经编译成功了,但是不知道后来我改动了什么,就出现了错误,我怎么都找不到错,请求帮忙!
qtDesigner 做出 imagedialog.ui 文件
====================
我建立了一个.h文件 image.h 如下
=====================
#include "ui_imagedialog.h"
class ImageDialog : public QDialog
{
Q_OBJECT
public:
ImageDialog(QWidget *parent = 0);
private:
Ui::ImageDialog ui;
}
======================
建立image.cpp 如下
======================
#include "image.h"
ImageDialog::ImageDialog(QWidget *parent): QDialog(parent)
{
ui.setupUi(this);
}
====================
main.cpp如下
==================
#include "image.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
ImageDialog * window=new ImageDialog;
window->show();
return app.exec();
}
================
编译后出现如下错误:
image.cpp:2: error: new types may not be defined in a return type
image.cpp:2: error: return type specification for constructor invalid
==================
不清楚为什么啊! 请教!
====================
编译生成的ui_imagedialog.h文件结构如下:
#ifndef UI_IMAGEDIALOG_H
#define UI_IMAGEDIALOG_H
#include <QtCore/QVariant>
#include <QtGui/QAction>
#include <QtGui/QApplication>
#include <QtGui/QButtonGroup>
#include <QtGui/QCheckBox>
#include <QtGui/QDialog>
#include <QtGui/QGroupBox>
#include <QtGui/QHBoxLayout>
#include <QtGui/QPushButton>
#include <QtGui/QVBoxLayout>
class Ui_ImageDialog
{
public:
QVBoxLayout *vboxLayout;
QHBoxLayout *hboxLayout;
QGroupBox *groupBox;
QVBoxLayout *vboxLayout1;
QVBoxLayout *vboxLayout2;
QCheckBox *checkBox_1;
QCheckBox *checkBox_2;
QCheckBox *checkBox_3;
QVBoxLayout *vboxLayout3;
QPushButton *pushButton_1;
QPushButton *pushButton_2;
QPushButton *pushButton_3;
QPushButton *pushButton_4;
void setupUi(QDialog *ImageDialog)
{
ImageDialog->setObjectName(QString::fromUtf8("ImageDialog"));
ImageDialog->resize(QSize(219, 159).expandedTo(ImageDialog->minimumSizeHint()));
ImageDialog->setMinimumSize(QSize(219, 159));
ImageDialog->setMaximumSize(QSize(219, 159));
vboxLayout = new QVBoxLayout(ImageDialog);
vboxLayout->setSpacing(6);
vboxLayout->setMargin(9);
vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
hboxLayout = new QHBoxLayout();
hboxLayout->setSpacing(6);
hboxLayout->setMargin(0);
hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
groupBox = new QGroupBox(ImageDialog);
groupBox->setObjectName(QString::fromUtf8("groupBox"));
vboxLayout1 = new QVBoxLayout(groupBox);
vboxLayout1->setSpacing(6);
vboxLayout1->setMargin(9);
vboxLayout1->setObjectName(QString::fromUtf8("vboxLayout1"));
vboxLayout2 = new QVBoxLayout();
vboxLayout2->setSpacing(6);
vboxLayout2->setMargin(0);
vboxLayout2->setObjectName(QString::fromUtf8("vboxLayout2"));
checkBox_1 = new QCheckBox(groupBox);
checkBox_1->setObjectName(QString::fromUtf8("checkBox_1"));
vboxLayout2->addWidget(checkBox_1);
checkBox_2 = new QCheckBox(groupBox);
checkBox_2->setObjectName(QString::fromUtf8("checkBox_2"));
vboxLayout2->addWidget(checkBox_2);
checkBox_3 = new QCheckBox(groupBox);
checkBox_3->setObjectName(QString::fromUtf8("checkBox_3"));
vboxLayout2->addWidget(checkBox_3);
vboxLayout1->addLayout(vboxLayout2);
hboxLayout->addWidget(groupBox);
vboxLayout3 = new QVBoxLayout();
vboxLayout3->setSpacing(6);
vboxLayout3->setMargin(10);
vboxLayout3->setObjectName(QString::fromUtf8("vboxLayout3"));
pushButton_1 = new QPushButton(ImageDialog);
pushButton_1->setObjectName(QString::fromUtf8("pushButton_1"));
vboxLayout3->addWidget(pushButton_1);
pushButton_2 = new QPushButton(ImageDialog);
pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
vboxLayout3->addWidget(pushButton_2);
pushButton_3 = new QPushButton(ImageDialog);
pushButton_3->setObjectName(QString::fromUtf8("pushButton_3"));
vboxLayout3->addWidget(pushButton_3);
pushButton_4 = new QPushButton(ImageDialog);
pushButton_4->setObjectName(QString::fromUtf8("pushButton_4"));
vboxLayout3->addWidget(pushButton_4);
hboxLayout->addLayout(vboxLayout3);
vboxLayout->addLayout(hboxLayout);
retranslateUi(ImageDialog);
QObject::connect(pushButton_1, SIGNAL(clicked()), checkBox_1, SLOT(toggle()));
QObject::connect(pushButton_2, SIGNAL(clicked()), checkBox_2, SLOT(toggle()));
QObject::connect(pushButton_3, SIGNAL(clicked()), checkBox_3, SLOT(toggle()));
QObject::connect(pushButton_4, SIGNAL(clicked()), checkBox_1, SLOT(toggle()));
QObject::connect(pushButton_4, SIGNAL(clicked()), checkBox_2, SLOT(toggle()));
QObject::connect(pushButton_4, SIGNAL(clicked()), checkBox_3, SLOT(toggle()));
QMetaObject::connectSlotsByName(ImageDialog);
} // setupUi
void retranslateUi(QDialog *ImageDialog)
{
ImageDialog->setWindowTitle(QApplication::translate("ImageDialog", "Dialog", 0, QApplication::UnicodeUTF8));
groupBox->setTitle(QApplication::translate("ImageDialog", "GroupBox", 0, QApplication::UnicodeUTF8));
checkBox_1->setText(QApplication::translate("ImageDialog", "CheckBox", 0, QApplication::UnicodeUTF8));
checkBox_2->setText(QApplication::translate("ImageDialog", "CheckBox", 0, QApplication::UnicodeUTF8));
checkBox_3->setText(QApplication::translate("ImageDialog", "CheckBox", 0, QApplication::UnicodeUTF8));
pushButton_1->setText(QApplication::translate("ImageDialog", "&Select1", 0, QApplication::UnicodeUTF8));
pushButton_2->setText(QApplication::translate("ImageDialog", "&Select2", 0, QApplication::UnicodeUTF8));
pushButton_3->setText(QApplication::translate("ImageDialog", "&Select3", 0, QApplication::UnicodeUTF8));
pushButton_4->setText(QApplication::translate("ImageDialog", "&Select4", 0, QApplication::UnicodeUTF8));
Q_UNUSED(ImageDialog);
} // retranslateUi
};
namespace Ui {
class ImageDialog: public Ui_ImageDialog {};
} // namespace Ui
#endif // UI_IMAGEDIALOG_H
[ 此贴被XChinux在2007-01-22 00:06重新编辑 ]