2011-11-23 111 views
0

变量/方法可以请你告诉我“点”和“箭头”之间的区别,例如:点或箭头上的Qt

file.open

->start()(带QThread)

我认为箭头用于“方法”,而“点”用于“属性”,但open例如is的一种方法。

感谢您的回答

+0

你应该开始使用Qt(或任何其他C++框架)之前了解C++。 – Flavius

回答

3

这不仅仅是为了Qt。当所讨论的变量引用类型/类的实际实例时使用。

实施例:

QLabel label(QString("Hello")); 
label.show(); 

的 - >当变量是可以保持类型/类别的地址的指针被使用。

例子:

QLabel *label = new QLabel(QString("Hello")); 
label->show(); 
+0

感谢buster,我尝试了第二个例子,我得到了一个错误,用“从const char *转换为qlabel *”的指针。你知道为什么吗?此外,我只看到'QString string'没有指针的使用,如果我尝试使用指针,它最终会出现同样的错误'不能在初始化中将const char *转换为QString *。任何想法?谢谢 – Paul

+0

是的,我想你可能需要用QString初始化一个QLabel ..我现在编辑它。 – buster

+0

谢谢巴斯特的编辑,你知道为什么一种方式比另一种更受欢迎吗?我的意思是,我正在学习C++,似乎每个变量都是一个指针,但在Qt中,我有时会将变量看作'QLabel label'或'Qstring string',在那里我会用一个指针来代替... – Paul

1

- >用于指针。如果x被声明为指向sth的指针,则x->用于属性,否则。用来。

QLabel *label = new QLabel(tr("Heyy")); 
QHBoxLayout hbox = new QHBoxLayout; 

label->show(); 
hbox.addWidget("foo"); 
+1

这不是Qt或任何其他框架btw的功能,它是C++。作为@Flavius的建议,你最好在使用Qt之前学习C++,我想.. – NotCamelCase