如何解决Qt-这些代码段是什么意思
| 我只是对C++ GUI Programming with Qt 4
书中的那些代码片段有疑问:
GoToCellDialog::GoToCellDialog(QWidget *parent):QDialog(parent)
这是否意味着我们正在继承QDialog(parent)
?或者,这到底是什么意思?
setupUi(this);
在此,此代码段是gotocelldialog.cpp
文件的一部分,该文件是is5ѭ头文件的实现。在这种情况下,“ 6”是什么意思?我们正在尝试设置什么?而且,那将是什么样的设置?
谢谢。
解决方法
GoToCellDialog::GoToCellDialog(QWidget *parent) : QDialog(parent)
ѭ8表示初始化列表。这意味着,将“ 9”作为参数传递给“ 10”构造函数。我假设ѭ11是从ѭ10派生的,因此将parent
发送给它的构造函数。因此,在执行ѭ11even的偶数主体之前,先执行QDialog
构造函数。
这个例子应该给你一个想法-
class foo
{
int number ;
public:
foo(int i) : number(i) // Means copying value of i to number
{}
};
class bar : public foo
{
public:
bar(int temp) : foo(temp)
{ // <- Before getting here,foo sub object must be constructed.
// Because the order of construction takes from parent to child.
}
};
在上面的示例中,在实例化bar
时,必须传递foo
构造函数的参数。因此,初始化列表是唯一的方法,因为没有可用于foo
的默认构造函数(即没有参数的构造函数)。
,要回答您的问题:
这是否意味着我们继承了QDialog(parent)?
是的,这是基本的C ++继承。
setupUi(this);
简而言之:\“用户界面编译器”(uic)将xml文件编译/转换为C ++代码,然后将其编译和链接。 setupUi()函数可通过构建窗口小部件树来确保将您制作的Qt设计器窗口小部件(生成的C ++代码)设置为由代码使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。