问题标签 [emit]

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 投票
1 回答
206 浏览

c++ - qt c 发出文本浏览器

我有一个非常简单的服务器应用程序,它在控制台中完美运行。现在我切换到 gui 并创建了一个新项目,几乎所有的东西都和控制台项目一样。差异之一是显示我的输出的方式。而不是qDebug() << "Hello abc";我现在必须使用ui->textBrowser->append("Hello abc");. 这个 ui 只能在 mainwindow.cpp 中调用。

在 MyServer.cpp 中,我必须使用 connect 函数(见上文)并将信号 updateUI 发送到 mainwindow.cpp。

问题来了:我的文本浏览器显示最后一个发出命令“套接字关闭”。我调试程序,点击启动按钮(启动服务器并将信号(updateUI)与插槽(appendToBrowser)连接)并通过telnet连接到程序。到目前为止,该程序运行良好,我在 telnet 上看到“hello client”和退出,但仍然只有最后一个发出输出来自“Socked Closed”。一开始我认为我的发射可能会相互覆盖,但那是不可能的,因为在我单击 startButton 后应该看到“服务器已启动”或“服务器错误”。

任何想法如何解决这个问题?我现在正在使用 c++ 和 qt 大约 3 周,我必须承认我很快就很困惑,所以我希望你们能理解我的问题!谢谢到目前为止。

0 投票
2 回答
343 浏览

c++ - Qt c++双发射数据

到目前为止,我有一个运行良好的多服务器应用程序。我有4个cpp文件。Main.cpp 构建程序。MainWindow.cpp 构造 ui 并启动(通过 buttonclick)MyServer.cpp。MyServer.cpp 创建一个线程并启动 MyThread.cpp。我的目标是在 textBrowser 上显示几个主要步骤(如“服务器启动”、“新连接”等)。

我将 MyServer.cpp 的输出通过传递emit updateUI("server started");给 mainwindow.cpp,其中输出被捕获:

因为连接命令就在 mainwindow.cpp 本身中,所以它工作得恰到好处。问题在 mythread.cpp 中开始“更深”一步。

我在

并在 MyServer.cpp 中将它与 MainWindow.cpp 连接起来。

连接命令位于信号(来自 mythread.cpp 的 updateUI_serv)和插槽(来自 mainwindow.cpp 的 AppendToBrowser)文件的“中间”。此时,只要我尝试将数据(作为客户端通过 telnet)写入服务器应用程序,程序就会崩溃。

我也尝试将连接命令设置到主窗口和 mythread 中,但两次我都遇到了不同的问题(比如调试问题,或者文本没有显示在 textBrowser 中)。感谢到目前为止。

0 投票
1 回答
482 浏览

c++ - 如何通过 Qt 中的几个类对象发出信号?

我有几个类:A 类 - 最高类、B 类和 C 类,它们在 A 类构造函数中初始化。在 B 类中,构造函数被初始化为 B1 类,在 C 类中,构造函数被初始化为 C1 类。C1 对象和 B1 对象互不相见。

每次我需要从 C1 类向 B1 类发送信号时,我连接 C1 和 C、C 和 B,最后连接 B 和 B1。因此,每次我的程序在 C1 类对象中发出信号时,它都会发送到 C 类对象,然后发送到 B,然后再发送到 B1。(在图像上)它是正确的 Qt 方式吗?或者有更好的方法来做到这一点?

在此处输入图像描述

0 投票
1 回答
142 浏览

c++ - 不会发出 Qt 中的新信号

我已经编写了这段代码 A QWidget 它有一个 QSlider 和 QLineEdit 它们通过它们的值相互连接。有两个新的 SLOT 将转换它们的值并调用其他小部件来更改其值。直到这里,一切都完美无缺。

但是我添加了一个新的 SIGNAL,它必须在值达到 80 时发出。之后必须关闭 QAPPlication 的实例。这部分不起作用。为什么?

0 投票
1 回答
701 浏览

node.js - socket.io 每个发出动作都会创建新的虚拟文件

我正在研究 node + socket.io 应用程序。到目前为止,一切都很顺利。最近我开始收到一些错误:

搜索互联网让我想到了这个 stackoverflow 问题:Node.js SSL server freeze, high CPU, not crashed but no connections。Knskan3 在回答中写道:

每个套接字创建一个新的虚拟文件。

我检查了一下,看起来每个套接字都会发出动作:

创建新的虚拟文件。

现在,当我有每秒发出数据的非常动态的应用程序时,将有办法在很短的时间内在服务器上创建许多新文件,最后服务器将达到最大文件的限制(默认为 1024)。我可以增加限制,但我认为这不是解决方案,因为它确实会产生很多排放。我是在做错事还是发出真的那样工作?你建议如何解决这个问题?

编辑: 经过一些答案后,我粘贴了控制台显示的内容:

在每个操作之后,我运行命令:(ls -l /proc/11124/fd | wc -l就像在我粘贴链接的站点中告知的那样)并且它增加一。对我来说,它看起来无论如何都会创建文件。我在互联网上看到了许多类似的情况,并建议的解决方案是增加 ulimit 但这不是解决方案,而是临时修复。

EDIT2: 好的,我发现了问题。我在应用程序内存缓存中使用。当我不再需要它时,我没有关闭连接,因此许多发出操作导致与 memcache 创建新连接而不是关闭它。现在一切正常。

0 投票
1 回答
1886 浏览

map - 为什么发出(meta.id,NULL)

我已经阅读了一些示例代码(尤其是来自 Couchbase Model Views 演示项目链接)并意识到 map() 函数是如此奇怪。

为什么发出函数的值为空,但 GetView("beers", "beer") 的结果却完美地获得了值???

请帮帮我!

0 投票
1 回答
133 浏览

macos - 我可以在内联汇编中描述操作码吗?(GNU 或 OSX)

我必须用__emit指令和操作码翻译 Windows 程序集并将其转换为 OSX 程序集。原始代码看起来像,

0x0008没什么意思,只是例子)

我想知道,在 gnu 或 osx compiler( llvm)中是否有任何等效的指令与__emit直接执行操作码的指令。

欢迎任何建议。谢谢

0 投票
2 回答
960 浏览

qt - 当 Qdoublespinxbox 的值在 customDelegate 内发生变化时发出信号

我有子类 qstyleeditemdelegate

在 col==1 和 col==2 我创建了 Qdoublespinxboxs,我想发出我的 valuechanged

Qdoublespinxbox,计算小计( col1 * col2 )

意思是:在代表之外

每次 Qdoublespinxbox 的值发生变化时,我都会更新值小计

0 投票
2 回答
51181 浏览

node.js - socket.io 发出回调合适吗?

最近我一直在搞乱socket.io,发现了一个有趣的东西,我可以像这样发出函数回调。

我开始像这样在客户端发射:

然后我可以像这样从服务器端触发回调:

一切正常,没有错误,但我很感兴趣,如果做这样的事情是合适的,因为到目前为止我在文档或任何示例中都没有看到类似的东西。

0 投票
2 回答
11980 浏览

angularjs - scope.$on 在指令中创建时不起作用

我为我的应用程序创建了一个指令,在以下问题中提到了 如何使用 AngularJS 或 Javascript 提供文件以供下载?指令代码如下

这里使用了 scope.$on,当我通过 $scope.$emit 或 $scope.$broadcast 调用此事件时,它不起作用。我的控制器代码如下

我的html文件如下

我在这里做错了什么?

@Edit:在编译阶段添加了订阅($on)以避免在控制器中使用$timeout。在这里您可以查看示例