IMode 类
class Core::IModeIMode 类表示 Qt Creator 中的一个模式。 更多...
头文件 | #include <coreplugin/imode.h> |
继承自 | Core::IContext |
被继承自 |
属性
公共函数
IMode(QObject *parent = nullptr) | |
QString | displayName() const |
QIcon | icon() const |
Utils::Id | id() const |
bool | isEnabled() const |
QMenu * | menu() const |
int | priority() const |
void | setDisplayName(const QString &displayName) |
void | setEnabled(bool enabled) |
void | setIcon(const QIcon &icon) |
void | setId(Utils::Id id) |
void | setMenu(QMenu *menu) |
void | setPriority(int priority) |
信号
void | enabledStateChanged(bool enabled) |
详细描述
此类定义了一个模式和它在 Qt Creator 主窗口左侧模式选择器中的工具按钮形式的表示。
模式用于显示不同的用户界面以适应不同的开发任务。因此,模式控制了 Qt Creator 主窗口大多数部分的布局,除了左侧的工具栏和状态栏。例如,编辑模式,最常用的编码模式,显示代码编辑器和各种导航和输出面板。调试模式通过可配置的调试相关信息布局增强了那种视图。设计模式保留了主窗口的所有空间用于图形编辑器。
模式是一个 IContext。设置上下文的 widget 以定义模式布局。
添加模式应该是谨慎的,只作为最后的备用方案。考虑如果您的功能可以作为一个 INavigationWidgetFactory、IOutputPane、Debugger::Utils::Perspective
、单独的对话框或专门的 IEditor 来实现。
如果您添加了一个模式,请考虑在模式的布局左侧添加一个 NavigationWidgetPlaceHolder,并在底部添加一个 OutputPanePlaceHolder。
模式在创建时自动注册到 Qt Creator,并在销毁时自动取消注册。
属性文档
displayName : QString
该属性持有关模式的显示名称。
显示名称会在模式选择器中的模式图标下显示。
访问函数
QString | displayName() const |
void | setDisplayName(const QString &displayName) |
enabled : bool
该属性表示模式是否启用。
默认情况下,此属性为 true
。
访问函数
bool | isEnabled() const |
void | setEnabled(bool enabled) |
通知信号
void | enabledStateChanged(bool enabled) |
icon : QIcon
该属性持有关模式的图标。
图标会在模式选择器中的模式旁显示。模式图标应支持 34x34 像素和 68x68 像素的尺寸以支持 HiDPI。
访问函数
QIcon | icon() const |
void | setIcon(const QIcon &icon) |
id : Utils::Id
该属性持有关模式的 ID。
访问函数
Utils::Id | id() const |
void | setId(Utils::Id id) |
menu : QMenu*
该属性持有关模式的菜单。
默认情况下,模式没有菜单。当您设置菜单时,除非您显式设置父元素,否则菜单不属于模式。
访问函数
QMenu * | menu() const |
void | setMenu(QMenu *menu) |
priority : int
该属性持有关模式的优先级。
优先级定义了模式在模式选择器中显示的顺序。较高的优先级将模式移动到顶部。欢迎模式应该保持顶部,其优先级为 100。默认优先级为 -1。
访问函数
int | priority() const |
void | setPriority(int priority) |
©2024 The Qt Company Ltd. 包含在内的文档贡献是各自所有者的版权。此文档提供受 GNU 自由文档许可证版本 1.3 的条款许可,由自由软件基金会发布。Qt 及其 respective logos 均为 The Qt Company Ltd 在芬兰和/或其他国家的商标。所有其他商标均为其各自所有者的财产。