在Qt中运行程序时,控制台日志中会填充以下消息:.
QMenu(0x21aef3db1c0) does not have a property named "myVar"我只有mainwindow.cpp/h.的main.cpp我在主窗口中使用Q_PROPERTY。
mainwindow.cpp
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
// code here
}
QColor MainWindow::getMyVar() const
{
return myVar;
}
void MainWindow::setMyVar(QColor c)
{
myVar = c;
}
MainWindow::~MainWindow()
{
}mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
class MainWindow : public QMainWindow
{
Q_OBJECT
Q_PROPERTY(QColor myVar READ getMyVar WRITE setMyVar DESIGNABLE true)
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
QColor getMyVar() const;
void setMyVar(QColor c);
private:
QColor myVar;
};
#endif // MAINWINDOW_Hstylesheet.qss
* {
qproperty-myVar: red;
}这条信息有什么意义,我能做些什么来摆脱它呢?
发布于 2018-04-22 19:34:04
样式表规则中的*匹配所有内容:
* {
qproperty-myVar: red;
}这意味着这种样式将应用于所有小部件,而不仅仅是MainWindow小部件。例如,它将应用于主窗口的QMenu,Qt在这里抱怨QMenu没有myVar属性--实际上没有!
相反,请尝试以下几点:
MainWindow {
qproperty-myVar: red;
}https://stackoverflow.com/questions/49964806
复制相似问题