qt-signals 相关问题

信号和槽用于对象之间的通信。信号和插槽机制是Qt的核心功能,可能是与其他框架提供的功能最不同的部分。

Qt 信号可以是公共的、受保护的还是私有的?

Qt 信号可以是公共的、受保护的还是私有的?我可以创建仅在类内部可见的内部信号吗? 更新:我有一个带有一些内部信号的类。我怎样才能发出这些信号

回答 8 投票 0

Qt 信号和槽:简化的连接语法?

Qt 文档给出了以下将信号连接到槽的示例: QObject::connect(lineEdit, &QLineEdit::textChanged, 标签, &QLabel::setText); 然而,语法有点......

回答 1 投票 0

将 Qt Signals & Slots 与多线程结合使用时避免对象切片

我想知道,是否可以在接收器位于不同的 QThread 中的情况下使用 Qt 信号和插槽,同时避免对象切片。 更具体地说,如果使用 Qt::ConnectionType...

回答 1 投票 0

在 QML 中接收带有 C++ 参数的信号时未定义

我正在尝试从 C++ QObject 类接收带有 QML 参数的信号。 信号看起来被触发,但参数未定义: myclass.h MyClass 类:公共 QObject { Q_OBJECT 公开...

回答 1 投票 0

如何使用 Qt WebSockets 从客户端向服务器发送消息

我正在使用 Qt 示例中的 Web 客户端和 Web 服务器 echoclient.cpp - https://pastebin.com/z8bgfQzE 客户端 main.cpp - https://pastebin.com/g1DtjjYa echoserver.cpp - https://pastebin.com/V7aq...

回答 1 投票 0

如何将信号和槽参数传递给QObject::connect

我收到错误: 调用不带对象参数的非静态成员函数 和: 无法获取“void”类型右值的地址 我已经看过这里的文档和很多

回答 1 投票 0

连接到简单函数时如何使用 Qt 的新信号/槽语法

如此处所述,您可以将信号连接到一个简单的函数,如下所示: 连接( 发件人,&Sender::valueChanged, 一些函数 ); 这是我的程序: #包括 如here所述,您可以将信号连接到一个简单的函数,如下所示: connect( sender, &Sender::valueChanged, someFunction ); 这是我的程序: #include <QCoreApplication> #include <QNetworkAccessManager> #include <QNetworkReply> #include <QNetworkRequest> void handleReply(QNetworkReply *reply) { QString replyStr = reply->readAll(); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QNetworkAccessManager manager; connect(&manager, &QNetworkAccessManager::finished(QNetworkReply*), handleReply(QNetworkReply*)); return a.exec(); } 但是,我遇到了一些错误: main.cpp:18: error: call to non-static member function without an object argument connect(&manager, &QNetworkAccessManager::finished(QNetworkReply*), handleReply(QNetworkReply*)); ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~ main.cpp:18: error: 'QNetworkReply' does not refer to a value connect(&manager, &QNetworkAccessManager::finished(QNetworkReply*), handleReply(QNetworkReply*)); ^ main.cpp:18: error: expected expression connect(&manager, &QNetworkAccessManager::finished(QNetworkReply*), handleReply(QNetworkReply*)); ^ main.cpp:18: error: 'QNetworkReply' does not refer to a value connect(&manager, &QNetworkAccessManager::finished(QNetworkReply*), handleReply(QNetworkReply*)); ^ /usr/include/x86_64-linux-gnu/qt5/QtNetwork/qnetworkreply.h:62: declared here class Q_NETWORK_EXPORT QNetworkReply: public QIODevice main.cpp:18: error: expected expression connect(&manager, &QNetworkAccessManager::finished(QNetworkReply*), handleReply(QNetworkReply*)); ^ ^ 当您使用新的连接语法时,无需指示参数的类型,因此只需使用: #include <QCoreApplication> #include <QNetworkAccessManager> #include <QNetworkReply> #include <QNetworkRequest> #include <QDebug> static void handleReply(QNetworkReply *reply) { QString replyStr = reply->readAll(); // do stuff qDebug()<< replyStr; reply->deleteLater(); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QNetworkAccessManager manager; QObject::connect(&manager, &QNetworkAccessManager::finished, &handleReply); manager.get(QNetworkRequest(QUrl("https://www.google.com"))); return a.exec(); } 注: 如果您位于继承自 connect(...) 的类中,则仅应使用 QObject,如果是 main,则应使用 QObject::connect(...)

回答 1 投票 0

通过 connect 传递额外的参数

是否可以通过槽传递变量,以便我可以打印出某些文本? 尝试将另一个函数中定义的变量“DiffP”传递给插槽。 “DiffP”根据哪个文件而变化

回答 2 投票 0

从QSlider发送信号到QLineEdit槽

我有一个水平滑块,我希望在更改滑块值时更新行编辑。 我写了这个,但什么也没发生: 连接(ui->horizontalSlider1, SIGNAL(&QSlider::valueChanged),...

回答 2 投票 0

connect 函数失败,因为信号找不到对象

当调用 QObject::connect(*object,signal,*object,slot) 时,由于信号函数,我收到错误“cannot call a member function without object”。 我正在尝试连接信号...

回答 1 投票 0

如何从 QT Creator 上的外部线程调用 GUI 函数?

我阅读了一些主题,现在我知道我必须使用信号和槽,但我在执行时遇到了一些麻烦。 在我的用户界面上,我有一个 Q 列表小部件,我需要从另一个三个中向其中添加项目...

回答 1 投票 0

循环中的QtCore.QObject.connect仅影响最后一个实例

我有一个循环。我创建了一个 QCheckBox 并将其放入 QTableWidget 单元格中,一切正常。在循环的每一步中,我都为 myslot SLOT 调用了一个连接函数,但只有最后一个 QCheckBox

回答 4 投票 0

在 Qt 中显示第二个窗口并发送回信号

启动课程时,第二个窗口没有内容: QWidget* w = new demo2(); w->show(); 目标有: 演示2::演示2() { QVBoxLayout* 布局 = 新 QVBoxLayout;

回答 1 投票 0

在 PyQt5 中耦合滑块和拨号小部件。解决结果不一致的问题

我正在开发一个小部件。它有一个拨盘和一个滑块,并且都修改相同的数字,尽管我希望滑块比拨盘具有更高的变化率。将其视为表盘...

回答 1 投票 0

点击时如何获取动态添加的QPushButton的文本

我在 QScrollarea 中动态添加了一组按钮,但我想通过单击或触摸获取该特定按钮的文本。 button = new QPushButton("someText"); b...

回答 3 投票 0

Qt #define "signals" 与 GStreamer (gst) 冲突

Qt,它似乎用一个初始 Q 来命名其他所有东西,这样做:#define signals signals in qobjectdefs.h。 然而,GStream,不自然地,不会把信号想象成一个保留字和...

回答 3 投票 0

Qt 信号和插槽在 QObject 实例中不起作用

我正在尝试在服务器上为我的 API 创建一个客户端类,但我的插槽在请求后不起作用。 connect 函数返回 true,这应该意味着信号和插槽连接到 ...

回答 0 投票 0

GUI Python:第一个窗口有一个提取数据按钮和一个显示数据按钮。我不明白为什么按下显示数据按钮时窗口会关闭

导入json 从 PyQt5.QtCore 导入 pyqtSignal,QThread 从 bs4 导入 BeautifulSoup // TazzExtractor.py 导入请求 从 unidecode 导入 unidecode 类 TazzExtractor(QThread): 数据 =

回答 0 投票 0

PySide2 UI在显示后进入while循环时停止响应。

我遇到了一个问题,如果我在调用widget.show()方法后使用while循环,QtWidget对象就会停止响应。我最初以为问题出在我如何使用 ...

回答 1 投票 0

如何将多个复杂的信号随时间发送至同一槽位?

我正在Spyder3.8上使用PyQT5.10编写一个GUI。用户输入多个参数,包括字符串、整数和浮点数,然后按 "Go "按钮,启动一个新的线程,其中的参数 ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.