# 11.2. 创建新的对话

在创建了你的项目骨架后, 按照你的参数选择将为你提供一个运行准备好的了应用。由于 Kdevelop提供项目类型KDE及Qt应用, 对话框编辑器dialog editor 认可它并由以前 的库提供的控件widgets 来提供控件构造。要节省时间, 你还需在头脑中由格设计来 完成想要的操作。要得到关于控件设计的信息, 请参见KDevelop编程手册。 要创建一个新的对话, 请从文件菜单"File"-menu 中选择"新建"或在"对话"标签上从 上下文菜单中选择"新建"。"新的对话"菜单会出现，你必须在此给Kdevelop一个对话---关 于基础类资源文件名称及目的地的具体信息。

## 11.2.1. 对话类

你可以选择的对话类, 是由你的新控件继承的类, 专门由类本身来代表。 因此，你有以下选项:

1. QWidget: Qt提供的所有用户交互控件widgets 的基类。用于主视 及最高层的控件widgets 。

2. QFrame: 继承`QWidget`并由众多控件widgets 用作基 类。这对于除`QWidget`方法外还想拥有`QFrame`功能的控件 widgets 很有用。

3. Custom: 继承一个必须在"自定义属性"中设置的自定义类。这可能是一个由你 的项目提供或库的已经设计好的类。

4. QDialog: 你要继承为用户交互--例如设置属性或改变参数--使用的对话 的基类。

5. QTabDialog: 继承QDialog并提供一个有预先定义的按钮及一套标 签的对话, 这是你将由你要创建的控件widgets 提供的。

自定义属性Custom Properties

对在对话类域中选中的一个自定义类的继承, 你必须指定类名, 在"自定义类"里。对话编辑 器dialog editor 使用它来生成代码；因此, 你还必须插入"自定义头部", 在此还必 须设置自定义类的头文件名。

## 11.2.2. 文件

在"文件"章节, 你必须键入控件的具体信息。即类名(这将是，例如对于一个允许选择钢笔 颜色的对话：KColorSelectDlg), 头部, C++ 及数据文件名。当插入类名, 文件名将由对话 编辑器dialog editor 指定, 但是你也可以改变文件名。 现在，你的文件又如何呢? 当你准备构建可视化控件时, 你将不得不生成包含了你的控件的 实现implementation 的文件。由于这将是一个类, 对话将与包含了类声明 classdeclaration 的头文件，一个包含了你的控件的方法和槽的实现implementation 方法的C++文件一起存在。数据文件是包含了一个可由你的控件的构造器及initDialog() 方法调用的函数。由于它将包含从对话框编辑器dialog editor 生成的代码以在屏幕上创建 控件这个文件本身不应该改动。如果你必须改变参数值, 你应该通过构造器来完成或保证你 在开发过程中不会改变对话, 因为每次生成可你的控件的代码，数据文件都会被重写。头部 及C++ 文件包含多个零件, 对话框编辑器dialog editor 会在此编写;这些由评论标注。在文 件生成后, 你可以改变任何值并在这些零件之外设置； 否则你的改动会在下一次代码生成 时丢失。

## 11.2.3. 定位

要生成控件的资源, 对话框编辑器dialog editor 需要知道他们将被设置的位置。 output 目录的缺省值是当前项目的子目录，它包含已有的资源。

在按下"确定"后, 你的缺省值就已经生成，一个空的控件构造器也打开。然后你就准备开始 创建你自己的控件了。注意，对话框编辑器dialog editor 当前只支持没有几何管理的 静态控件 widgets 。如果你准备为你的控件widgets 使用几何管理, 你应该让 自己习惯于Qt为此提供的类classes , 使用类生成器创建一个新的类并自动编写自己 的控件。要获得更多信息，请参见 KDevelop编程手册。