我有一個關於信號槽孔一個問題:Qt的C++優於許多信號時隙的方式
可以說我有2班CL_A,CL_B
class CL_A : public QObject
{
Q_OBJECT
private:
int a,b,c; // in reality I have more than 3 variables
// that need to be set
public:
void set_a (int par_a);
void set_b (int par_b); // in reality I have more than 3 setters
void set_c (int par_c); // I also have getters and other methods
...
};
CL_B * cl_b = new CL_B();
從CL_B我想使用的setter方法的CL_A設置類CL_A的變量a,b,c。爲了做到這一點,我爲每個設置者設置了信號插槽連接。現在我的問題是:
有沒有更好的方法來做到這一點,而不是有很多的信號插槽連接(每種方法一個)?
您可以將指針傳遞給'A'成'B'和直接調用的東西。無論如何,當內部物體必須在外部物體中設置某物時,情況似乎是乍一看不好的設計。 – SingerOfTheFall
您希望通過同一類型的信號插槽設置「CL_A」成員變量(如示例中所示)? – Tomas
這取決於很多上下文。如果你同時設置它們,那麼你可以傳遞一個結構,而不是單獨傳遞每個值。但是你應該編輯這個問題並且提供一些你實際想要做的事情的細節。 – thuga