问题标签 [moc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
369 浏览

c++ - 信号和槽是语法糖还是更多?

我正在学习 Qt,并且对信号槽模式很感兴趣。我的问题是,信号和插槽只是事件侦听器和处理程序的语法糖,还是后台发生的事情具有不同的性质?如果是后者,根本区别是什么?

0 投票
1 回答
1434 浏览

visual-studio - 为什么使用 qmake 生成 Visual Studio 项目时忽略我的 MOC_DIR

我正在使用 Qt 5.3 生成 Visual Studio 2013 项目qmake。在我的.pro文件中,我有以下行:

如果 I message($$MOC_DIR),则路径正确形成。但是,当我在 VS 中构建时,moc_<CLASS>.cpp文件不会在该位置生成,而是最终与.pro. 我在编译期间收到以下警告:

两个或多个名称为 的文件moc_<CLASS>.cpp将产生输出到同一位置

这并不奇怪,因为如果我查看生成的内容.vcxproj,我会看到以下内容(不相关的标签/文本已省略...):

为什么我的习惯MOC_DIR被忽略了?

0 投票
1 回答
70 浏览

qt - 有什么区别.moc 和 moc_.cpp

我的大多数课程都会生成一个moc_<CLASS>.cpp文件。为什么有些类生成<CLASS>.moc文件而不是/以及?

0 投票
0 回答
123 浏览

qt - VS2008 中的 Qt 项目总是重建

我有一个使用 Qt 插件在 Visual Studio 2008 中运行的 Qt5.3 项目。每次我运行该项目时,它都会从头开始构建自己,而不会在运行之间进行任何更改。

我使用 VS 向导生成了项目,所以我没有添加任何自定义步骤。有任何想法吗 ?

0 投票
1 回答
751 浏览

qt - Qt、Qbs:自动生成moc_Filename.cpp

所以我有一个 Q_OBJECT 标记类,它需要预先生成的 .moc 才能使用。

在我的 .qbs 文件中,我有一个CppApplication项目;这似乎是错误的项目类型,因为 qbs 没有调用moc ClassName.cpp为我生成 moc。应该使用什么来代替/调整?

-

所以我知道 Qt.core 依赖项,但它不适用于我安装的 Qt 残缺;当我试图修复它时,这些事实出现了:

  • 需要检测 Qt 工具链 ( qbs-setup-qt) 并调用qbs-config-ui
  • Qbs 确实将构建规则存储在 core.qbs 中,通过 Qt/core 依赖项链接。
    • 可以将构建规则复制/粘贴到我自己的 .qbs 文件中并避免外部依赖;我认为这是在真正瘫痪的构建系统上部署代码的肮脏黑客(现在我对 Gentoo 上的 Qt 支持有了一个词)。
0 投票
2 回答
3106 浏览

qt - 样式表应用于 QGridLayout 中的单元格而不是父容器

我继承了 QWidget 来创建一个名为(比如说..)TaskBox 的类。
我已将 QGridLayout 应用到我的 TaskBox。
布局由几个 QLabels 组成。

我通过为其设置样式表来更改任务框的背景颜色。
现在看起来像这样:

在此处输入图像描述

这就是我想要的,我很满意。

问题是,我想将 Q_OBJECT 宏添加到 TaskBox 类。(因为我需要使用信号和插槽)

添加 Q_OBJECT 宏后,我的 TaskBox 对象变成这样:

在此处输入图像描述

看起来样式表在 QGridLayout 中被分解为单元格。

这是我的任务框类:

我不明白发生了什么事。
感谢您的任何帮助!

0 投票
1 回答
321 浏览

c++ - 将 AUTOMOC 添加到 cmake 文件时出现 WinSock 问题

我在编写 cmake 文件时遇到问题。我有一个同时使用 Qt 和 WinSock2 的项目。但是当我将 set(CMAKE_AUTOMOC ON) 添加到 CMake 代码时,它给了我这些错误:

错误 4 错误 C2011: 'sockaddr' : 'struct' 类型重新定义 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h 212 错误 5 错误 C2059: 语法错误: '常量' C :\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h 390 错误 6 错误 C3805:'常量':意外令牌,应为 '}' 或 ',' C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ws2def.h 390 ...

我的cmake文件如下:

0 投票
1 回答
1118 浏览

c++ - 如何创建 Qt 自定义基类

我想main window为我的应用程序创建一个自定义,我想将它与Qt Creator. 当您创建一个新的时,Qt Widgets Application您可以选择从或继承。我想在那里添加我自己的小部件:QWidgetQMainWindowQDialog

在此处输入图像描述

.ui当我从下拉列表中选择我的自定义小部件时,我希望生成我的自定义表单。这可能吗?如果是,如何?

Qt Designer Form或者也许可以在创建新表单时向对话框添加自定义模板小部件?我说的是这个:

在此处输入图像描述

问候!

0 投票
3 回答
4820 浏览

c++ - 我可以为 QObject 的子类提供复制构造函数吗?

在这里我们可以读到没有复制构造和复制赋值运算符可评估。但是在这里我们可以阅读它qRegisterMetaType并且Q_DECLARE_METATYPE必须有公共默认构造函数、公共复制构造函数和公共析构函数。问题是:谁在说谎?还是我没有正确理解?

0 投票
2 回答
282 浏览

qt - 如何在 Qt 中找到信号槽关系?

我最近刚接触 Qt,但我必须理解和修改其他人的一个巨大的 Qt 项目。是否可以在不找到所有对应的connect()函数的情况下从源码中查看信号槽连接关系?我听说 MOC 文件将这些信息存储在某个地方,但我找不到它们。