[英]Difference between QObject::connect() and connect()
我是 Qt 的新手,我想嘗試更好地理解它。
我從 inheritance 的角度知道QMainWindow是從QObject 派生的。 (直接/間接)
這允許我們在 QMainWindow 中以下列方式將信號連接到槽:
`
1- QObject::connect(sender, &QObject::signal, this, &MyObject::slot);
2- connect(sender, &QObject::signal, this, &MyObject::slot);
`
即使兩種方式都很艱難,我也從來不明白它們之間的主要區別是什么。
這是我的問題:
1- 哪種方法性能更好,為什么?
2-為什么程序員有時會使用一個而不是另一個?
我使用了這兩種方法,它們的工作原理似乎相似。
考慮以下代碼。
class Foo {
static void fn();
};
class Bar: public Foo {
void bar() {
// 1
}
};
void main() {
// 2
}
如果你想在1
調用Foo::fn()
,你可以只寫fn();
由於 static 函數在派生類的方法內部是“可見的”,您也可以編寫Foo::fn()
並且它會做完全相同的事情。 如果你想在2
調用它,你只能使用全名Foo::fn()
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.