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类派生,而是将它们聚合到其他类中。