Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt-设置接口_C++_Qt_User Interface_Qt4_Installation - Fatal编程技术网

C++ Qt-设置接口

C++ Qt-设置接口,c++,qt,user-interface,qt4,installation,C++,Qt,User Interface,Qt4,Installation,例如,我们可以在Qt中设置用户界面,如下所示: Ui::Dialog ui; ui.setupUi(dialog); 在这里,我将把对话框的UI设置为UI 但是,如果我写下以下内容: setupUi(this) 这是什么意思?特别是我没有辅助特定的用户界面(即ui)。我将如何设置这样的界面 谢谢。命名空间UI由UIC(UI编译器)控制。基本上,UI文件是UI内部的描述。要实例化它,您需要告诉它应该填充哪个小部件。在您的例子中,您明确地告诉它填充“对话框”小部件 如果您在从qwidget派生的

例如,我们可以在
Qt
中设置用户界面,如下所示:

Ui::Dialog ui;
ui.setupUi(dialog);
在这里,我将把
对话框的UI设置为
UI

但是,如果我写下以下内容:

setupUi(this)
这是什么意思?特别是我没有辅助特定的用户界面(即ui)。我将如何设置这样的界面


谢谢。

命名空间UI由UIC(UI编译器)控制。基本上,UI文件是UI内部的描述。要实例化它,您需要告诉它应该填充哪个小部件。在您的例子中,您明确地告诉它填充“对话框”小部件

如果您在从qwidget派生的类中,那么当然,您可以使用

ui.setupUi(this)

我不确定我是否完全理解您的问题,所以请随时提供详细信息,我将完成我的回答。

传递“对话框”和“此”的区别在于,当您传递“对话框”时,您在Qt Designer中创建的UI元素将按照您指定的方式放置在“对话框”小部件上,而当您传递“此”时,UI元素将放在此小部件上(您调用setupUi()的方法中的小部件)

Hehe,您是否在回答自己的问题?:)不,我只是编辑了user588855的初始帖子来添加标签,我只是不确定是否理解“这意味着什么?特别是我没有指定一个特定的界面(即ui)。我将如何设置这样的界面?”啊,没错。是的,我同意,这个问题可能会更加冗长。缺少某些上下文…感谢您的回复。此类代码所在的类是
gotocelldialog.cpp
。而且,
setupUi(这个)
是在没有
ui的情况下编写的。
。在这种情况下,结果如何?那么,为什么您假设该类是从
QWidget
派生的呢?作为该
.cpp
文件的头文件
.h
,该文件派生如下
类GoToCellDialog:public QDialog,public Ui::GoToCellDialog
。所以,如果你能澄清这一点,我没有注意到
QWidget
的推导在哪里。Thanks如果有更多的代码会很有趣:-)您的gotoCellDialog是一个QDialog(因此是一个QWidget)和一个UI生成的类(这不是最常见的方式)。运行setupUi(这个)将使用您派生的Ui::gotCellDialog填充QDialog。第一个例子是实例化一个新的UI,并使用它填充提供的对话框(希望这有帮助)。请注意,通常情况下,您不会从UI类派生,而是将它们聚合到其他类中。