signals-slots相关内容
我已经写了一个简单的信号槽应用程序使用Qt。 这里是我的代码: 我想要发送一个信号给另一个线程, class Thread1:public QThread { Q_OBJECT void run() { exec(); } public: Thread1(QObject * parent); public slots: void a() {
..
我有一个QMainWindow,它有一个 QAction 的信号 triggered()连接到一个插槽 about2()。 ... connect(mAboutAction2,SIGNAL(triggered()),this,SLOT(about2()) ); ... void occQt :: about2()// UI { QWidget * pWidget
..
我有一些按钮,我把这个放在一个组里: MainWindow :: MainWindow(QWidget * parent): QMainWindow(parent), ui(new Ui :: MainWindow) { ui-> setupUi(this); AddSlotsToGroup(); } void MainWindow :: AddSlotsToGrou
..
我有一个上传者使用以下代码: if(!_ cancelled){ _reply = _accessManager。 put(request,item); if(_reply){ _currentItem = item; bool status = connect(_reply,SIGNAL(uploadProgress(qint64,qint64)),this,SLOT
..
我正在浏览QMainWindow中的方法,并注意到一些部分(例如resizeEvent和winEvent)不是作为信号实现的,而是你必须继承这个类才能覆盖它们。 我的问题是,信号和槽的有效性,并且可以实现这些类型的函数作为其他类可以订阅的信号。例如,在高性能游戏引擎内部。 解决方案 从我记得,Trolltech说,比虚拟调用慢约10倍。您应该能够轻松处理几十个,即使不是每秒数十万个信
..
有没有办法暂时断开Qt信号,而是存储一个连接到它的对象的列表,这样信号以后可以重新连接到它们? 解决方案 http://qt-project.org/forums/ viewthread / 6820 这篇文章讨论了跟踪特定信号的连接列表的方法,可以在断开连接后调用它来重新连接。
..
我有我的类 X 它继承自Qt的类 Base 。我在我的类 X 中声明并定义了 void mySlot() X的构造函数。但是,当运行我的程序时,我收到一个错误信息,说明在 Base void mySlot() > 为什么Meta Object Compiler(moc)生成的代码在基类中而不是在我的(派生)类中查找我的槽? 解决方案 是否在派生类上添加了Q_OBJECT宏?
..
我想在c ++中设计一个信号和槽系统。该机制有点灵感来自boost :: signal,但应该更简单。我正在使用MSVC 2010,这意味着一些c ++ 11的功能是可用的,但可悲的是可变的模板不是。 首先,让我给一些上下文信息。我实现了一个系统来处理由连接到pc的不同硬件传感器生成的数据。每个单独的硬件传感器由继承自通用类设备的类表示。每个传感器作为接收数据的单独线程运行,并且可以将其转发
..
我正在使用boost库,我的问题是关于boost ::信号。 我有一个信号可能调用许多不同的插槽,但只有一个插槽将匹配调用所以我想让这个特定的槽返回true,调用将停止。 是否可能? 它是否有效? 你能建议我更好的方法来做它,如果它不高效? 解决方案 经过一些研究,我发现在boost文档中他们写了返回值的插槽。 他们建议使用不同的组合器如下: stru
..
我是Qt的新手;请帮助我解决问题。 我使用线程在后台执行密集操作。同时我想更新UI,所以我使用SIGNALS和SLOTS。更新UI我发出一个信号并更新UI。 让我们来看下面的示例代码, struct sample { QString name; QString地址; }; void Update(sample *); void sampleFunct
..
我有3个对象(继承自 QObject ),每个对象包含一个单独的 std :: list 。每个对象都在主gui线程中创建(没有父对象),然后被推送到自己的线程(使用Qt的 QObject :: moveToThread())。 每个线程都连接到一个gui,消息在不同线程之间与数据发送。每个线程基本上处理它自己的列表。例如: Obj 1:数据的消费者。它的pop是它的列表的前面(如果数
..
应用程序是多线程的,但执行信号处理的部分是单一的线程。 如果多线程不是问题,有没有理由更喜欢Boost.Signals2和Boost.Signal2? 解决方案 Boost.Signals现在已被弃用,应该使用Boost.Signals2(参见 v1.54文档)
..
应用程序是多线程的,但执行信号处理的部分是单一的线程。 如果多线程不是问题,有没有理由更喜欢Boost.Signals2和Boost.Signal2? 解决方案 Boost.Signals现在已被弃用,应该使用Boost.Signals2(参见 v1.54文档)
..
如何处理子类中的信号?假设我的子类是从 QTextEdit 派生的,并且对 textChanged 信号感兴趣。将一个对象连接到自身似乎很愚蠢,我应该能够简单地覆盖 textChange 方法 - 但它不是 virtual 解决方案 > 您不能实现/覆盖信号,因此唯一的方法是创建一个新的槽并将其连接到textChanged(): connect(this,SIGNAL(textCh
..
我想在我的程序中使用信号和插槽,但不幸的是,它们应该用于传输几种不同的数据类型(例如QString,double等),我不想写20个不同的插槽,只是因为我需要每个数据类型一个。但是当我要声明一个像 的模板
..
我们有一个 QCheckBox 对象,当用户检查或删除检查,我们要调用一个函数,所以我们连接我们的函数 stateChanged状态)信号。另一方面,根据一些条件,我们也改变 QCheckBox 对象的状态,这会导致不需要的信号。 在某些情况下有没有办法防止触发信号? 解决方案 “http://doc.qt.nokia.com/latest/qabstractbutton.html#
..
我试图编写一个静态回调函数,该函数从同一类中的另一个静态函数频繁调用。我的回调函数需要 emit 一个信号,但由于某种原因,它只是没有这样做。我把它放在一个调试器和插槽从来没有被调用。然而,当我放置代码我用来 emit 在非静态函数中的数据,它的工作原理。有没有原因,我不能从静态函数发出信号?我尝试声明一个类的新实例,并调用emit函数,但没有运气。 class Foo { sign
..
我的GUI项目在 Qt 有很多“配置页”类,它们都直接从 QWidget 继承。 最近,我意识到所有这些类共享2个公用槽( loadSettings()和 saveSettings())。 关于这一点,我有两个问题: 将这两个插槽作为虚拟纯方法编写一个中间基础抽象类(让它名为 BaseConfigurationPage )有意义吗? (每个可能的配置页将始终有这两种方法,所以我会
..
我尝试使用 QSlider 更改变量的值, #include class MainThread:public QWidget { Q_OBJECT public: MainThread(QWidget * parent = 0); 私有插槽: void setValue(double); private: QSlider * slider;
..
我试图编写一个系统,其中我创建了x个工作线程。这些线程将在不同的时间完成他们的工作。当任何一个完成他们的工作,我将检查他们的输出,并重新启动它们(保持线程周围的x)。我将这样做一些有趣的迭代。因此,基本上一个控制器线程将启动x个线程,并且将在它们完成其工作时重新启动它们,直到达到一定数量的迭代。 附加说明#1:当我说重新启动时,等待直到当前一个退出/中止并被销毁,并创建一个新的。它不必“重新
..