问题标签 [slot]

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 投票
2 回答
2423 浏览

qt4 - 错误'没有这样的插槽'qt

我正在尝试通过信号/插槽选项连接两个小部件,但我不断收到“不存在这样的插槽”的错误消息。事实是,在编写程序时,我使用 Ctrl + Space 只是为了确保我没有打错任何字。

所以我有一个小部件:

渲染区域.h

渲染区域.cpp

第二个小部件:

表视图列表.h

表视图列表.cpp

和主要小部件:

renderingwidget.cpp 我连接上面的2:

ui->graphicsView 已提升为 renderArea,ui->clothoidTable 已提升为 TableViewList。

那么为什么会出现这个错误呢?

0 投票
3 回答
14061 浏览

class - 如何使用 Roxygen2 正确记录 S4 类插槽?

对于使用 roxygen(2) 记录类,指定标题和描述/细节似乎与函数、方法、数据等相同。但是,插槽和继承是它们自己的一种动物。在 roxygen2 中记录 S4 类的最佳实践是什么(当前的或计划的)?

尽职调查:

我发现@slot在 roxygen 的早期描述中提到了一个标签。 一个 2008 R-forge 邮件列表帖子 似乎表明这已经死了,并且@slot在 roxygen 中不支持:

roxygen2 是这样吗?前面提到的帖子建议用户应该使用 LaTeX 标记制作自己的逐项列表。例如,扩展该类的新 S4 类"character"将被编码和记录如下:

然而,尽管这可行,但这种记录插槽\describe\item方法似乎与 roxygen(2) 的其余部分不一致,因为没有- 分隔的@标签,并且插槽可能会在roxygenize(). 它也没有说明记录正在定义的类的继承的一致方式。@import我想依赖通常仍然可以使用标签正常工作(如果特定插槽需要来自另一个包的非基类) 。

那么,总而言之,roxygen(2) 插槽的当前最佳实践是什么?

目前似乎有三个选项需要考虑:

  • A -- 分项清单(如上例)。
  • B - @slot...但我错过了额外的标签/实现。我无法让@slot 与 roxygen / roxygen2 在上面示例中作为逐项列表的替代品的版本中使用。同样,上面的示例确实适用于 roxygen(2)。
  • C - 一些用于指定插槽的替代标签,例如@param,可以完成同样的事情。

我正在从我在githubroxygen2上的开发页面上发表的帖子中借用/扩展这个问题。

0 投票
6 回答
20840 浏览

c++ - 如何在不从 QObject 派生的情况下使用 SIGNAL 和 SLOT?

或以其他方式表达我的问题(尽管它没有解决我的问题):'QObject::QObject' 无法访问在类'QObject' 中声明的私有成员

我的班级需要 SIGNAL 和 SLOTS 功能,但我认为如果不从QObject?

问题似乎是我需要从中派生QObject以使用信号和插槽......但我需要MyClass. 但由于以下特性,我无法构造它们QObjectNo Copy Constructor or Assignment Operator

我试了很多...

所以我的 shou Class 看起来像这样:

我需要MyClass.

那么有没有可能避免“'QObject :: QObject'无法访问在类'QObject'中声明的私有成员”错误?

或者作为替代方案是否有可能使用没有 的信号和插槽QObject

我很高兴有任何建议。

0 投票
3 回答
3949 浏览

installation - RPM+Yum:同时安装两个同名不同版本的包

对于版主:这个问题是关于基于 RPM 的安装程序的开发

我正在为我们的软件开发打包系统。我们设计了更新管理,以便当我们想要移动到新的主要版本时,我们更改 RPM 包以将所有文件安装到另一个目录(带有另一个后缀)并更改包版本。我们为包保留相同的名称(例如:a-package-1.0.0 --> a-package-2.0.0)。我们希望安装新的软件包,保留旧的软件包,以便用户在迁移到新软件包时能够继续使用旧版本。

所以我们的软件包和 RPM 实用程序之间没有文件冲突,同时安装它们没有任何问题(rpm -ivh ...)。但百胜认为新版本是对旧版本的更新。

有没有办法产生这样的 RPM 包来让 'yum install a-package-1.0.0 a-package-2.0.0' 安装它们?也许必须设置包中的一些标志?我什么也没找到。

0 投票
1 回答
137 浏览

c++ - Qt4 使用一个类创建一个 SLOT 来控制一个 QWebView 的 setTextSizeMultiplier 使用 CONNECT 和一个 QSLIDER

使用 Qt4,我如何使用 CONNECT 和 QSLIDER 创建一个类来创建一个 SLOT 来控制 QWebView 的 setTextSizeMultiplier。

我的代码:(thesliderbar 是 QSlider,vweb 是 QWebView)

我收到了 connect(); 的错误。

错误:

ywr.cpp:31: 错误: ',' 标记之前的预期主表达式

ywr.cpp:-1: 在构造函数 'ywr::ywr(QWidget*)' 中:

0 投票
2 回答
6759 浏览

python - 如何查找信号是否连接到任何东西

有没有办法判断一个信号是否已经连接到一个函数?

即我想看看 signals.siSelectionChange 是否连接到任何东西

0 投票
1 回答
4265 浏览

qt - Qt 主窗口菜单信号

我有处理 QMainWindow 的“核心”对象。
Core.h 代码

Core.cpp 代码

我正在尝试将主窗口菜单栏信号连接到核心插槽,如下所示:

但它不起作用。我是 C++ 和 Qt 的新手。这个怎么连接?或者也许有更好的方法来处理其他程序部分的主窗口操作。

UPD 问题已解决。忘记包含 QMenuBar

0 投票
2 回答
4223 浏览

signals - Qt 中的模型信号槽连接

我喜欢用 UML 记录我的信号槽连接(例如特殊情况下的连接)。我正在使用 Enterprise Architect,当每个类有超过 5 个信号和/或插槽时,它变得非常混乱。我尝试了流程图组件图

流程图:我将我的类建模为进程,并将端口用于我的信号/插槽。

组件图:我为我的类使用了组件,为我的信号槽使用了接口

您对信号/插槽建模有什么经验吗?您有什么建议?有没有更适合信号/插槽的解决方案?

查理

0 投票
1 回答
121 浏览

qt - 我可以将基类中的公共函数修改为 Qt 派生类中的公共槽吗?

我现在正在使用 Qt。

我写了一个 C++ 类A,里面有一些公共函数。现在,我正在编写一个 Qt 类B,它具有来自QObjectA 的多个继承。

我想将 A 中的一个公共功能更改为B中的公共插槽

有可能吗?

0 投票
3 回答
14339 浏览

c++ - 如何将 QActions 列表添加到 QMenu 并使用单个插槽处理它们?

首先,我有一个QWidgets 列表,直到运行时我才知道它的长度。然后我创建一个QListWidget显示它们的位置,当有人点击它们时,我使用信号currentItemChanged(QListWidgetItem*, QListWidgetItem*)来捕捉它并获取点击项目的索引。

现在我想在QMenu. 我会在构建它及其操作时知道该列表QMenu,但我将无法对其进行硬编码。

如何创建动作,捕捉它们的信号并将它们连接到同一个插槽,根据菜单列表中动作的位置(索引)执行不同的操作?必须有某种方法来解决这个问题,因为其他应用程序使用它。我试图查看映射,但我无法理解如何使用它。

我试图抓住sender插槽,但无法从中获得任何有用的信息。