信号和槽是实现观察者模式的机制。
我在从一个 qthread 向另一个 qthread 发送信号时遇到问题。我正在使用的类似代码摘录如下: 类授权(QtCore.QThread): 验证 = pyqtSignal() serverDown = pyqtSi...
我正在尝试标记数据跟踪的 x 跨度,并使用 tagNames、起始 x 值和结束 x 值填充表。我正在使用“突出显示”对象的字典来跟踪
pyqt 通过单击水平标题发出信号对 qtablewidget 进行排序
我有一个QTableWiget的子类。我可以通过单击水平标题对该表进行排序。现在我还想在表排序时发出一个信号,所以我重载了基类的 sortItems 方法: 定义
我收到错误: 调用不带对象参数的非静态成员函数 和: 无法获取“void”类型右值的地址 我已经看过这里的文档和很多
我有一个水平滑块,我希望在更改滑块值时更新行编辑。 我写了这个,但什么也没发生: 连接(ui->horizontalSlider1, SIGNAL(&QSlider::valueChanged),...
如何在 Qt 中以 setter 作为槽编写可读的 c++ getter 和 setter
抱歉问题发生了重大变化,请参阅上面的编辑。 我正在寻找一种可读的方法来使用 setter 作为 SLOT 在我的 C++ 类中编写 getter 和 setter。 因为我的习惯我已经习惯了...
我正在开发一个视频播放器应用程序, 我已经子类化了 QVideoWidget,然后我将 ui 文件中的 QWidget 提升为这个子类化的 QVideoWidget。 现在我想调用另一个cl中定义的函数...
我正在开发一个视频播放器应用程序, 我对 QVideoWidget 进行了子类化,然后将我的 ui 文件中的 QWidget 提升为这个子类化的 QVideoWidget。 现在我想调用另一个类中定义的函数...
我有一个耗时的线程操作,但在处理过程中无法发出进度。因此,我使用另一个线程来模拟其进度。当耗时的操作完成后,它...
在我的应用程序中,我引入了一个新信号,当发出另一个信号时必须发出该信号。这在 Qt 中可能吗? 编写一个槽只是为了发出这个信号感觉如此原始和蹩脚......
好吧,我正在使用 Qt Designer 构建 GUI。我已经设法弄清楚如何制作菜单栏,并且已经向菜单栏添加了一些操作,但现在我需要连接这些操作以使它们执行某些操作...
当调用 QObject::connect(*object,signal,*object,slot) 时,由于信号函数,我收到错误“cannot call a member function without object”。 我正在尝试连接信号...
PyQt Python - 为 QPushButton 创建鼠标右键单击
我正在动态创建垂直布局中的 QPushButton 列表。我目前正在使用“点击”信号作为函数。但我想使用鼠标右键进行额外的
如何将 QSlider 连接到 QDoubleSpinBox
我想将 QSlider 连接到 QDoubleSpinBox,但是虽然代码编译良好并可以为简单的 QSpinBox 运行,但它不适用于 QDoubleSpinBox QSlider *horizontalSlider1 = new QSlider();
我刚刚升级了 PySide6(PySide6==6.6.0 从 6.2.2),一个新行为正在对我的 GUI 程序造成严重破坏。在我有点击信号的每个地方,连接的插槽都会收到额外的 bool==
PyQt/PySide中连接clicked信号时lambda和partial的区别
将一组按钮中的多个单击信号连接到带有参数的单个槽函数时,我遇到了信号槽问题。 lambda 和 functools.partial 可以如下使用: 用户=“...
假设我有两个信号(void signal1() 和 void signal2())和一个插槽(void slot())。 两个信号都连接到插槽: 连接(这个,&Classname::signal1,这个,&Classname::s...
我一直在遵循本教程创建角色移动系统,其中我遇到了与信号相关的问题。我试图让带有 Area2D 子项的 Spikes Node2D 在
自定义信号中的 Pyside6 AttributeError
在这个最小的代码中,我试图在按下工具栏上的按钮后从事件返回一个值。 “connection_builted”是连接到connection_status()的信号 和
当我这样写时 connect(m_someClasspointer, &SomeClassName::SignalA, &CurrentClass::slotMethod); 我收到错误 错误:没有匹配的函数可用于调用“QtPrivate::FunctionPointer” 当我这样写的时候 connect(m_someClasspointer, &SomeClassName::SignalA, &CurrentClass::slotMethod); 我有错误 error: no matching function for call to 'QtPrivate::FunctionPointer<void (CurrentClass::*)()>::call(void (CurrentClass::*&)(), QObject*&, void**&)' FuncType::template call<Args, R>(static_cast<QStaticSlotObject*>(this_)->function, r, a); 同时与 connect(m_someClasspointer, &SomeClassName::Signal, this, &CurrentClass::slotMethod); 一切都好。但是QObject有重载 inline QMetaObject::Connection QObject::connect(const QObject *asender, const char *asignal, const char *amember, Qt::ConnectionType atype) const 所以我完全不明白为什么第一个变体不起作用.. 您试图传递直接函数指针,而您引用的重载需要const char *。如果您仔细观察,您会发现模板支持传递直接函数指针,并且该模板没有非静态形式。 对于使用 const char * 的重载,请使用宏 SIGNAL 和 SLOT,例如SIGNAL(SignalA()) 和 SLOT(slotMethod())。 使用使用指向成员函数的指针的新连接语法(例如 &CurrentClass::slotMethod),如果方法 slotMethod() 重载,它将停止工作。重载时,您会收到编译错误:error: no matching function for call to 'connect'。如果您重载信号方法,也会发生同样的情况。所以我只是避免重载我的信号和槽方法。 (我应该补充一点,您可以使其与重载方法一起使用:请参阅https://wiki.qt.io/New_Signal_Slot_Syntax#Overload)