我正在尝试创建一个继承自 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 的新手,所以请保持你的答案简单:)