首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Qt (C++)日志中填充"Widget (address)没有名为(Var)的属性“

Qt (C++)日志中填充"Widget (address)没有名为(Var)的属性“
EN

Stack Overflow用户
提问于 2018-04-22 10:14:18
回答 1查看 211关注 0票数 0

在Qt中运行程序时,控制台日志中会填充以下消息:.

代码语言:javascript
复制
QMenu(0x21aef3db1c0) does not have a property named "myVar"

我只有mainwindow.cpp/h.的main.cpp我在主窗口中使用Q_PROPERTY。

mainwindow.cpp

代码语言:javascript
复制
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

代码语言:javascript
复制
#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_H

stylesheet.qss

代码语言:javascript
复制
* {
    qproperty-myVar: red;
}

这条信息有什么意义,我能做些什么来摆脱它呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-22 19:34:04

样式表规则中的*匹配所有内容:

代码语言:javascript
复制
* {
    qproperty-myVar: red;
}

这意味着这种样式将应用于所有小部件,而不仅仅是MainWindow小部件。例如,它将应用于主窗口的QMenu,Qt在这里抱怨QMenu没有myVar属性--实际上没有!

相反,请尝试以下几点:

代码语言:javascript
复制
MainWindow {
    qproperty-myVar: red;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49964806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档