ICore 类

class Core::ICore

ICore 类允许访问构成 Qt Creator 基本功能的不同部分。更多...

头文件 #include <coreplugin/icore.h>
继承 QObject

公共类型

枚举类ContextPriority { High, Low }

信号

voidcontextAboutToChange(const QList &context)
voidcontextChanged(const Core::Context &context)
voidcoreAboutToClose()
voidcoreAboutToOpen()
voidcoreOpened()
voidsaveSettingsRequested(Core::ICore::SaveSettingsReason reason)

静态公共成员

voidaddAdditionalContext(const Core::Context &context, Core::ICore::ContextPriority priority = ContextPriority::Low)
voidaddContextObject(Core::IContext *context)
voidaddPreCloseListener(const std::function&listener)
voidaskForRestart(const QString &text)
Utils::FilePathcacheResourcePath(const QString &rel = {})
QListcontextObjects(QWidget *widget)
QListcurrentContextObjects()
QWidget *currentContextWidget()
QWidget *dialogParent()
Utils::InfoBar *infoBar()
Utils::FilePathinstallerResourcePath(const QString &rel = {})
Core::ICore *instance()
boolisNewItemDialogRunning()
Utils::FilePathlibexecPath(const QString &rel = {})
QMainWindow *mainWindow()
QStringmsgShowOptionsDialog()
QStringmsgShowOptionsDialogToolTip()
QWidget *newItemDialog()
QPrinter *printer()
voidraiseWindow(QWidget *widget)
voidregisterWindow(QWidget *window, const Core::Context &context, const Core::Context &actionContext = {})
voidremoveAdditionalContext(const Core::Context &context)
voidremoveContextObject(Core::IContext *context)
Utils::FilePathresourcePath(const QString &rel = {})
voidrestart()
Utils::QtcSettings *settings(QSettings::Scope scope = QSettings::UserScope)
voidshowNewItemDialog(const QString &title, const QListfactories, const Utils::FilePath &defaultLocation = {}, const QVariantMap &extraVariables = {})
boolshowOptionsDialog(const Utils::Id page, QWidget *parent = nullptr)
boolshowOptionsDialog(const Utils::Id page, Utils::Id item, QWidget *parent = nullptr)
boolshowWarningWithOptions(const QString &title, const QString &text, const QString &details = QString(), Utils::Id settingsId = {}, QWidget *parent = nullptr)
voidupdateAdditionalContexts(const Core::Context &remove, const Core::Context &add, Core::ICore::ContextPriority priority = ContextPriority::Low)
QString用户界面语言()
Utils::FilePathuserResourcePath(const QString &rel = {})
QString版本字符串()

详细描述

您不应创建此接口的子类。唯一的一个实例是由核心插件创建的。您可以通过 instance() 方法从您的插件访问此实例。

成员类型文档

enum class ICore::ContextPriority

此枚举定义了附加上下文的优先级。

常量描述
Core::ICore::ContextPriority::High0具有比 Core::IContext 实例上下文优先级的附加上下文。
Core::ICore::ContextPriority::Low1具有比 Core::IContext 实例上下文优先级的附加上下文。

另请参阅Core::ICore::updateAdditionalContexts

成员函数文档

[静态] void ICore::addAdditionalContext(const Core::Context &context, Core::ICore::ContextPriority priority = ContextPriority::Low)

将具有指定 prioritycontext 添加到活动的附加上下文列表中。

另请参阅updateAdditionalContexts

[静态] void ICore::addContextObject(Core::IContext *context)

context 添加到已注册 IContext 实例的列表中。当 IContextwidget 在应用程序焦点窗口的父层次结构中时,其 context 将添加到活动上下文列表中。

另请参阅removeContextObjectupdateAdditionalContextscurrentContextObjects,以及 动作管理和命令

[静态] void ICore::addPreCloseListener(const std::function<bool ()> &listener)

为插件提供挂钩,以拒绝关闭应用程序。

当应用程序窗口请求关闭时,调用所有监听器。如果其中一个 listener 的调用返回 false,则进程被终止,事件被忽略。如果所有调用都返回 true,则发出 coreAboutToClose(),并接受或执行事件。

[静态] void ICore::askForRestart(const QString &text)

显示一个模态对话框,询问用户是否想要重新启动 Qt Creator。使用 text 作为对话框的主要文本,并在用户选择该选项时触发 Qt Creator 的重启。

[静态] Utils::FilePath ICore::cacheResourcePath(const QString &rel = {})

返回可用于持久化缓存文件的相对路径 rel 的可写路径。

[信号] void ICore::contextAboutToChange(const QList<Core::IContext *> &context)

指示新 context 将很快成为当前上下文(意味着其窗口获得了焦点)。

[信号] void ICore::contextChanged(const Core::Context &context)

指示一个新 context just became the current context. 这包括焦点对象上下文以及附加上下文。

[静态] QList<Core::IContext *> ICore::contextObjects(QWidget *widget)

返回指定 widget 的所有已注册 IContext 实例,如果有。

[信号] void ICore::coreAboutToClose()

允许插件执行一些生命结束前的操作。

在此信号发出后,应用程序保证要关闭。这将作为常规插件生命周期函数的补充,即 IPlugin::aboutToShutdown(),仅为了方便。

[信号] void ICore::coreAboutToOpen()

指示所有插件都已加载,主窗口即将显示。

[信号] void ICore::coreOpened()

指示所有插件都已加载,主窗口已显示。

[静态] QList<Core::IContext *> ICore::currentContextObjects()

返回当前顶级上下文窗口的 IContext 列表,如果没有,则返回空列表。

另请参阅updateAdditionalContexts(),addContextObject() 和 动作管理器和命令

[静态] QWidget *ICore::currentContextWidget()

返回当前上下文顶级 IContext 的窗口,如果没有,则返回 nullptr

另请参阅currentContextObjects

[静态] QWidget *ICore::dialogParent()

返回一个 widget 指针,适合用作 QDialog 的父级。

[静态] Utils::InfoBar *ICore::infoBar()

返回在 Qt Creator 主窗口中显示的中心 InfoBar。用于在不打断对话框的情况下通知用户。请勿过度使用。

[静态] Utils::FilePath ICore::installerResourcePath(const QString &rel = {})

返回基于相对路径 rel 的安装器写入的资源路径,例如预定义的工具包和编译器。

[静态] Core::ICore *ICore::instance()

返回实例的指针。仅用于连接到信号。

[静态] bool ICore::isNewItemDialogRunning()

返回是否当前打开了新项目对话框。

[静态] Utils::FilePath ICore::libexecPath(const QString &rel = {})

返回基于相对路径 rel 的 Qt Creator 安装中包含的命令行工具的路径。

[静态] QMainWindow *ICore::mainWindow()

返回应用程序的主窗口。

对于对话框父项,请使用 dialogParent()。

另请参阅 dialogParent()。

[静态] QString ICore::msgShowOptionsDialog()

返回用于打开选项对话框的按钮上要使用的文本。

另请参阅 showOptionsDialog() 和 msgShowOptionsDialogToolTip()。

[静态] QString ICore::msgShowOptionsDialogToolTip()

返回用于打开选项对话框的按钮上要使用的工具提示。

另请参阅 showOptionsDialog() 和 msgShowOptionsDialog()。

[静态] QWidget *ICore::newItemDialog()

返回当前打开的新项目对话框小部件,如果没有则返回 nullptr

另请参阅 isNewItemDialogRunning() 和 showNewItemDialog()。

[静态] QPrinter *ICore::printer()

返回应用程序的打印机对象。

始终使用此打印机对象进行打印,以确保应用程序的不同部分重用其设置。

[静态] void ICore::raiseWindow(QWidget *widget)

提升并激活 widget 的窗口。这包含 X11 的解决方案。

[静态] void ICore::registerWindow(QWidget *window, const Core::Context &context, const Core::Context &actionContext = {})

将指定的窗口上下文注册。已注册的窗口将在窗口菜单中显示,并注册为各种与窗口相关的操作,例如最小化、缩放、全屏和关闭操作。操作上下文默认为context,但可以被actionContext覆盖。

每当应用程序焦点在窗口中时,其上下文将被激活。

[静态] void ICore::removeAdditionalContext(const Core::Context &context)

从活动的附加上下文列表中删除上下文

另请参阅updateAdditionalContexts

[静态] void ICore::removeContextObject(Core::IContext *context)

上下文对象从已注册的IContext实例列表中注销。当它们被删除时,IContext实例将自动删除。

另请参阅addContextObject(),updateAdditionalContexts()和currentContextObjects

[静态] Utils::FilePath ICore::resourcePath(const QString &rel = {})

返回相对路径rel的绝对路径,该路径用于资源,如项目模板和调试宏。

由于例如在macOS上,资源是应用程序包的一部分,因此需要这种抽象来避免到处都是平台特定的代码。

另请参阅userResourcePath

[静态] void ICore::restart()

重新启动Qt Creator并恢复最后会话。

[信号] void ICore::saveSettingsRequested(Core::ICore::SaveSettingsReason reason)

指示用户请求将全局设置原因保存到磁盘。

这发生在应用程序关闭和保存所有时。

[静态] Utils::QtcSettings *ICore::settings(QSettings::Scope scope = QSettings::UserScope)

返回应用程序的主设置对象。

您可以使用它来检索或设置应用程序级别的设置(与会话或项目特定设置相反)。

如果作用域QSettings::UserScope(默认),则设置将从用户设置中读取,并在Qt Creator中提供全局设置的回退。

如果作用域QSettings::SystemScope,则仅读取与当前Qt Creator版本一起提供的安装设置。此功能仅用于内部目的。

[静态] void ICore::showNewItemDialog(const QString &title, const QList<Core::IWizardFactory *> &factories, const Utils::FilePath &defaultLocation = {}, const QVariantMap &extraVariables = {})

打开一个对话框,用户可以从一组factories(创建新文件或项目的工厂)中进行选择。

title参数作为对话框标题显示。如果用户不更改,文件将被创建在defaultLocation指定的路径中。默认为DocumentManager::projectsDirectory() 或 DocumentManager::fileDialogLastVisitedDirectory(),具体取决于向导类型。

extraVariables中设置了向导的额外变量。

另请参阅 Core::DocumentManagerisNewItemDialogRunning() 和 newItemDialog()。

[静态] bool ICore::showOptionsDialog(const Utils::Id page, QWidget *parent = nullptr)

在指定的page上打开选项对话框。对话框的parent默认为dialogParent。如果在调用此方法时对话框已显示,则仅将其切换到指定的page

返回用户是否接受了对话框。

另请参阅 msgShowOptionsDialog() 和 msgShowOptionsDialogToolTip()。

[静态] bool ICore::showOptionsDialog(const Utils::Id page, Utils::Id item, QWidget *parent = nullptr)

在指定的page上打开选项对话框。对话框的parent默认为dialogParent。如果在调用此方法时对话框已显示,则仅将其切换到指定的page。预先选中由item指定的对话框的一部分,对话框知道如何解释它。

返回用户是否接受了对话框。

另请参阅 msgShowOptionsDialog() 和 msgShowOptionsDialogToolTip()。

[静态] bool ICore::showWarningWithOptions(const QString &title, const QString &text, const QString &details = QString(), Utils::Id settingsId = {}, QWidget *parent = nullptr)

创建一个包含打开由settingsId指定的设置页面配置按钮的消息框。

对话框有title,并显示消息text和由details指定的详细信息。

使用此函数显示配置错误,并指导用户修复应修复的设置。

如果用户接受设置对话框,则返回true

另请参阅 showOptionsDialog()。

[静态] void ICore::updateAdditionalContexts(const Core::Context &remove, const Core::Context &add, Core::ICore::ContextPriority priority = ContextPriority::Low)

从活动额外上下文列表中移除由remove指定的上下文,并以priority将指定的add上下文添加进去。

额外上下文与IContext实例不相关。

高优先级的额外上下文优先级高于由IContext实例添加的上下文,低优先级的额外上下文优先级低于由IContext实例添加的上下文。

另请参阅addContextObject() 和 动作管理器和命令

[静态] QString ICore::userInterfaceLanguage()

返回当前在 Qt Creator 中配置的用户界面语言的区域字符串。使用此功能通过 QTranslator 安装您的插件翻译文件。

[静态] Utils::FilePath ICore::userResourcePath(const QString &rel = {})

返回用户目录中相对路径 rel 的绝对路径,用于资源如项目模板。

使用该函数查找用户可能写入的资源位置,例如,允许自定义面板或模板。

另请参阅resourcePath

[静态] QString ICore::versionString()

返回包含 IDE 名称和版本的字符串,格式为 "Qt Creator X.Y.Z"。请在 "由…生成" 字符串和类似任务中使用。

©2024 The Qt Company Ltd. 此文档中包含的文档贡献是各自所有者的版权。此处提供的文档是根据自由软件基金会公布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 和相应的标识是芬兰及其全球子公司和分支机构 The Qt Company Ltd 的商标。所有其他商标均为其各自所有者的财产。