0

我正在尝试创建一个继承自 QWidget 的自定义小部件类。问题是,当我将 Q_OBJECT 宏添加到我的自定义类时,小部件不会显示(没有错误)。如果我删除宏运行 qmake 并再次运行项目,则会显示 customwidget。我习惯添加 Q_Object 宏,因为我想添加信号和插槽。

小部件.h:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>


class Widget : public QWidget
{
    Q_OBJECT

    public:
        Widget(QWidget *parent = 0);

};

#endif // WIDGET_H

小部件.cpp:

#include "Widget.h"

Widget::Widget(QWidget *parent) : QWidget(parent) { }

主.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 的新手,所以请保持你的答案简单:)

4

0 回答 0