QWidget から継承するカスタム ウィジェット クラスを作成しようとしています。問題は、カスタム クラスに Q_OBJECT マクロを追加すると、ウィジェットが表示されない (エラーがない) ことです。マクロ run qmake を削除してプロジェクトを再度実行すると、customwidget が表示されます。シグナルとスロットを追加したいので、Q_Object マクロを追加するのに慣れています。
Widget.h:
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
};
#endif // WIDGET_H
Widget.cpp:
#include "Widget.h"
Widget::Widget(QWidget *parent) : QWidget(parent) { }
main.cpp:
#include "Widget.h"
#include <QApplication>
#include <QWidget>
#include <QPoint>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget window_main;
Widget *widget_steps = new Widget(&window_main);
widget_steps->setFixedWidth(100);
widget_steps->setFixedHeight(100);
widget_steps->move(QPoint(0, 0));
widget_steps->setStyleSheet("background-color: red");
window_main.showMaximized();
return a.exec();
}
Q_OBJECT マクロがないと左上隅に赤い四角形が表示されますが、マクロを追加しても表示されません。Qt 5.1 と Windows 7 を使用しています。
私はQtが初めてなので、答えを簡単にしてください:)