小编Kil*_*tch的帖子

Qt信号槽混淆

我正在开发一个项目,我必须创建一个Qt信号槽连接,从类的构造函数到它在里面初始化的类.这就是代码的样子.我希望下面提到的连接都能正常工作,但从输出结果可知,只有连接#1有效.我的问题是如何使连接#2工作!

A级

class classA :public QWidget{
    Q_OBJECT
public:
    classA(){
             emit this->demoSignalA();
            }
signals:
    void demoSignalA();
public slots:
    void demoSlotA(){qDebug()<<"SIGNAL FROM CLASS B"}
};
Run Code Online (Sandbox Code Playgroud)

B级

class classB :public QWidget{
    Q_OBJECT
public:
    classB(){
             classA *a = new classA;
             connect(this, SIGNAL(demoSignalB()), a, SLOT(demoSlotA()));  //WORKS
             connect(a, SIGNAL(demoSignalA()), this, SLOT(demoSlotB()));  //DOESN'T WORK
             emit this->demoSignalB();
            }
signals:
    void demoSignalB();
public slots:
    void demoSlotB(){qDebug()<<"SIGNAL FROM CLASS A";}
};
Run Code Online (Sandbox Code Playgroud)

主要

int main(int argc, char *argv[]){
    QApplication a(argc, argv);
    ...
    ...
    classB b;                     //INVOCATION INITIATED

    return a.exec();
Run Code Online (Sandbox Code Playgroud)

} …

qt qt-signals qtcore

3
推荐指数
1
解决办法
107
查看次数

MySQL- 计算行数 VS 设置计数器

我有 2 张桌子和. 这里表投票可以是 1(赞成票)或 -1(反对票)。现在,如果我需要获取帖子的总票数(赞成票 - 反对票),我可以通过两种方式来完成。posts<id, user_id, text, votes_counter, created>votes<id, post_id, user_id, vote>

  1. 用于count(*)从表中计算该帖子的赞成票和反对票数votes,然后进行数学计算。
  2. 设置一个计数器列votes_counter,并在每次用户投赞成票或反对票时增加或减少它。然后简单地提取它votes_counter。

我的问题是哪一个更好以及在什么条件下更好。我所说的条件是指可扩展性、峰值时间等因素。

据我所知,如果我使用方法 1,对于具有数百万行的表,count(*)可能是一个繁重的操作。为了避免这种情况,如果我在高峰时间使用计数器,votes_counter 列可能会陷入僵局,太多用户试图更新计数器!

还有第三种方法比这两种方法更好并且更容易实现吗?

mysql sql

2
推荐指数
1
解决办法
418
查看次数

标签 统计

mysql ×1

qt ×1

qt-signals ×1

qtcore ×1

sql ×1