【Qt之QWizard】使用1

QWizard使用

      • 描述
      • 方法
        • 枚举:enum QWizard::WizardButton
        • 枚举:enum QWizard::WizardOption
        • 枚举:enum QWizard::WizardStyle
        • 枚举:enum QWizard::WizardPixmap
        • 常用成员方法
        • 槽函数
        • 信号
      • 示例
        • 设置标题
        • 添加page页
        • 设置按钮文本
        • 设置自定义按钮文本
        • 设置page页
        • 设置帮助 按钮
        • 设置像素图
        • registerField(const QString &name, QWidget *widget, const char *property = Q_NULLPTR, const char *changedSignal = Q_NULLPTR)方法
        • QWizardPage::setCommitPage(bool commitPage)方法
        • 创建QWizardPage
        • 调用
      • 完整示例
      • 解释

描述

QWizard类为向导提供了一个框架。

向导(在macOS上也称为助手)是一种特殊类型的输入对话框,由一系列页面组成。向导的目的是一步一步地指导用户完成流程。对于用户可能难以学习的复杂或不常见的任务,向导非常有用。

QWizard继承QDialog并表示向导。每个页面都是一个QWizardPage (QWidget的子类)。要创建您自己的向导,您可以直接使用这些类,或者您可以创建它们的子类以获得更多的控制。

方法

枚举:enum QWizard::WizardButton

此enum指定向导中的按钮。
关联函数:
可使用setButton(),setButtonText(),setButtonLayout()等函数进行设置。

常量描述解释
QWizard::BackButton0The Back button (Go Back on macOS)后退按钮(在macOS上返回)
QWizard::NextButton1The Next button (Continue on macOS)Next按钮(macOS上的Continue)
QWizard::CommitButton2The Commit button提交按钮
QWizard::FinishButton3The Finish button (Done on macOS)完成按钮(在macOS上完成)
QWizard::CancelButton4The Cancel button (see also NoCancelButton)取消按钮(参见NoCancelButton)
QWizard::HelpButton5The Help button (see also HaveHelpButton)帮助按钮(参见HaveHelpButton)
QWizard::CustomButton16The first user-defined button (see also HaveCustomButton1)第一个用户定义的按钮(参见HaveCustomButton1)
QWizard::CustomButton27The second user-defined button (see also HaveCustomButton2)第二个用户定义的按钮(参见HaveCustomButton2)
QWizard::CustomButton38The third user-defined button (see also HaveCustomButton3)第三个用户定义按钮(参见HaveCustomButton3)

以下值只有在使用setButtonLayout()方法的时候有效:

常量描述解释
QWizard::Stretch9A horizontal stretch in the button layout水平伸缩在按钮布局中
枚举:enum QWizard::WizardOption

此enum指定影响向导外观的各种选项。
关联函数:
setOptions(), setOption(), 和 testOption().

常量描述解释
QWizard::IndependentPages0x00000001The pages are independent of each other (i.e., they don’t derive values from each other).各页面相互独立(即,它们不从彼此中派生值)。
QWizard::IgnoreSubTitles0x00000002Don’t show any subtitles, even if they are set.即使已设置,也不显示任何副标题。
QWizard::ExtendedWatermarkPixmap0x00000004Extend any WatermarkPixmap all the way down to the window’s edge.将任何水印位图一直扩展到窗口边缘。
QWizard::NoDefaultButton0x00000008Don’t make the Next or Finish button the dialog’s default button.不要将“下一步”或“完成”按钮设置为对话框的默认按钮。
QWizard::NoBackButtonOnStartPage0x00000010Don’t show the Back button on the start page.在起始页面上不显示“返回”按钮。
QWizard::NoBackButtonOnLastPage0x00000020Don’t show the Back button on the last page.在最后一页上不显示“返回”按钮。
QWizard::DisabledBackButtonOnLastPage0x00000040Disable the Back button on the last page.禁用最后一页上的“返回”按钮。
QWizard::HaveNextButtonOnLastPage0x00000080Show the (disabled) Next button on the last page.在最后一页上显示(禁用)的“下一步”按钮。
QWizard::HaveFinishButtonOnEarlyPages0x00000100Show the (disabled) Finish button on non-final pages.在非最终页面上显示(禁用)的“完成”按钮。
QWizard::NoCancelButton0x00000200Don’t show the Cancel button.不显示“取消”按钮。
QWizard::CancelButtonOnLeft0x00000400Put the Cancel button on the left of Back (rather than on the right of Finish or Next).将“取消”按钮放在“返回”按钮的左侧(而不是“完成”或“下一步”按钮的右侧)。
QWizard::HaveHelpButton0x00000800Show the Help button.显示“帮助”按钮。
QWizard::HelpButtonOnRight0x00001000Put the Help button on the far right of the button layout (rather than on the far left).将“帮助”按钮放在按钮布局的最右边(而不是最左边)。
QWizard::HaveCustomButton10x00002000Show the first user-defined button (CustomButton1).显示第一个用户定义的按钮(CustomButton1)。
QWizard::HaveCustomButton20x00004000Show the second user-defined button (CustomButton2).显示第二个用户定义的按钮(CustomButton2)。
QWizard::HaveCustomButton30x00008000Show the third user-defined button (CustomButton3).显示第三个用户定义的按钮(CustomButton3)。
QWizard::NoCancelButtonOnLastPage0x00010000Don’t show the Cancel button on the last page.在最后一页上不显示“取消”按钮。

WizardOptions类型是qflag的类型定义。它存储了WizardOption值OR组合。

枚举:enum QWizard::WizardStyle

enum指定QWizard支持的不同外观。
关联函数:
可通过setWizardStyle()进行外观设置,如果不设置,使用setPixmap()方法设置位图无效。

常量描述解释
QWizard::ClassicStyle0Classic Windows look经典的 Windows 外观
QWizard::ModernStyle1Modern Windows look现代的 Windows 外观
QWizard::MacStyle2macOS lookmacOS 外观
QWizard::AeroStyle3Windows Aero lookWindows Aero 外观
QWizard::NStyles4默认

在这里插入图片描述

枚举:enum QWizard::WizardPixmap

此enum指定可以与页面关联的像素图。
关联函数:
通过 setPixmap(), QWizardPage::setPixmap()等方法设置像素图。

常量描述解释
QWizard::WatermarkPixmap0The tall pixmap on the left side of a ClassicStyle or ModernStyle pageClassicStyle或ModernStyle页面左侧的高度较高的像素图
QWizard::LogoPixmap1The small pixmap on the right side of a ClassicStyle or ModernStyle page headerClassicStyle或ModernStyle页面标题栏右侧的小像素
QWizard::BannerPixmap2The pixmap that occupies the background of a ModernStyle page header占用ModernStyle页面标题栏背景的像素图
QWizard::BackgroundPixmap3The pixmap that occupies the background of a MacStyle wizard占用MacStyle向导背景的像素图
QWizard::NPixmaps4默认
常用成员方法
  • int addPage(QWizardPage *page):将给定的页面添加到向导中,返回新页面的ID。
  • QAbstractButton *button(WizardButton which) const:返回指定按钮类型的按钮(如下一步、上一步、完成等)。
  • QString buttonText(WizardButton which) const:返回指定按钮类型的文本。
  • int currentId() const:返回当前页面的ID。
  • QWizardPage *currentPage() const:返回当前页面。
  • QVariant field(const QString &name) const:返回具有给定名称的字段的值。
  • bool hasVisitedPage(int id) const:检查页面ID是否已经被访问过。
  • virtual int nextId() const:返回下一个要显示的页面的ID。
  • WizardOptions options() const:返回当前设置的选项。
  • QWizardPage *page(int id) const:返回指定ID的页面。
  • QList<int> pageIds() const:返回添加到向导中的所有页面的ID的列表。
  • QPixmap pixmap(WizardPixmap which) const:返回指定像素图类型的像素图(如向导标志、向导背景等)。
  • void removePage(int id):从向导中删除指定ID的页面。
  • void setButton(WizardButton which, QAbstractButton *button):设置指定按钮类型的按钮。
  • void setButtonLayout(const QList<WizardButton> &layout):设置按钮布局。
  • void setButtonText(WizardButton which, const QString &text):设置指定按钮类型的文本。
  • void setDefaultProperty(const char *className, const char *property, const char *changedSignal):设置默认属性。
  • void setField(const QString &name, const QVariant &value):设置字段的值。
  • void setOption(WizardOption option, bool on = true):设置指定选项的开启或关闭状态。
  • void setOptions(WizardOptions options):设置选项。
  • void setPage(int id, QWizardPage *page):设置指定ID的页面。
  • void setPixmap(WizardPixmap which, const QPixmap &pixmap):设置指定像素图类型的像素图。
  • void setSideWidget(QWidget *widget):设置侧边栏小部件。
  • void setStartId(int id):设置向导的起始ID。
  • void setSubTitleFormat(Qt::TextFormat format):设置副标题的格式。
  • void setTitleFormat(Qt::TextFormat format):设置标题的格式。
  • void setWizardStyle(WizardStyle style):设置向导的风格。
  • QWidget *sideWidget() const:返回侧边栏小部件。
  • int startId() const:返回向导的起始ID。
  • Qt::TextFormat subTitleFormat() const:返回副标题的格式。
  • bool testOption(WizardOption option) const:检查指定选项是否已启用。
  • Qt::TextFormat titleFormat() const:返回标题的格式。
  • virtual bool validateCurrentPage():验证当前页面是否符合要求。
  • QList<int> visitedPages() const:返回已访问的页面的ID列表。
  • WizardStyle wizardStyle() const:返回向导的风格。
槽函数
  • void back():显示前一个页面。
  • void next():显示下一个页面。
  • void restart():从头开始显示向导的第一个页面。
信号
  • void currentIdChanged(int id):当前页面的ID已更改。
  • void customButtonClicked(int which):单击自定义按钮时发射。
  • void helpRequested():当用户请求帮助时发射。
  • void pageAdded(int id):向导中添加了新页面。
  • void pageRemoved(int id):从向导中删除了页面。

示例

c
在这里插入图片描述

设置标题
setWindowTitle(QStringLiteral("wizard show"));
添加page页
    QWizard wizard;wizard.addPage(createIntroPage());wizard.addPage(createRegistrationPage());wizard.addPage(createConclusionPage());
设置按钮文本
    setButtonText(QWizard::NextButton, "下一步");setButtonText(QWizard::CancelButton, "取消");setButtonText(QWizard::BackButton, "返回");

这个是只有设置了setWizardStyle(QWizard::ModernStyle);样式后,才会显示回退按钮,只有添加了page页之后,才会显示下一步按钮,如果啥都没添加,界面只有 cancel,如果是最后一页,显示是finish,而不是"下一步"。
在这里插入图片描述

设置自定义按钮文本
    setButtonText(QWizard::CustomButton1, "自定义1");setOptions(options() | QWizard::HaveCustomButton1);

设置自定义按钮文本后,不会显示,只有设置setOptions()后,才显示,这个自定义按钮是每页都显示,可以根据是否需要,自行控制显隐。
在这里插入图片描述

设置page页
    setPage(Page_Intro, new IntroPage);setPage(Page_Evaluate, new EvaluatePage);setPage(Page_Register, new RegisterPage);setPage(Page_Details, new DetailsPage);setPage(Page_Conclusion, new ConclusionPage);

第一个参数为自定义id,可以重写QWizardnextId()方法,自定义上一步下一步,具体跳到某页。

设置帮助 按钮
setOption(HaveHelpButton, true);
设置像素图
    setPixmap(QWizard::LogoPixmap, QPixmap(":/images/logo.png"));

在这里插入图片描述

registerField(const QString &name, QWidget *widget, const char *property = Q_NULLPTR, const char *changedSignal = Q_NULLPTR)方法
    registerField("details.company*", companyLineEdit);registerField("details.email*", emailLineEdit);registerField("details.postal*", postalLineEdit);

创建一个名为name的字段,该字段与给定小部件的给定属性关联。从那时起,可以使用field()和setField()访问该属性。
字段对于整个向导来说是全局的,并且使任何单个页面都可以轻松访问由另一个页面存储的信息,而不必将所有逻辑放在QWizard中,也不必让页面显式地了解彼此。
“name”以“*”结尾时为必填字段。当页面有强制字段时,Next和/或Finish按钮只有在所有强制字段都填满时才启用。这需要指定一个changedSignal,以告诉QWizard重新检查由必填字段存储的值。
调用,不加后面的*

field("details.email").toString();
QWizardPage::setCommitPage(bool commitPage)方法

如果commitPage为true,则将该页设置为提交页;否则,将其设置为普通页面。
提交页是表示不能通过单击“返回”或“取消”来撤消的操作的页面。
提交按钮取代提交页面上的Next按钮。单击此按钮只调用QWizard::next(),就像单击next一样。
直接从提交页面进入的页面会禁用后退按钮。

创建QWizardPage
  QWizardPage *createIntroPage(){QWizardPage *page = new QWizardPage;page->setTitle("Introduction");QLabel *label = new QLabel("This wizard will help you register your copy ""of Super Product Two.");label->setWordWrap(true);QVBoxLayout *layout = new QVBoxLayout;layout->addWidget(label);page->setLayout(layout);return page;}

在这里插入图片描述

调用
  int main(int argc, char *argv[]){QApplication app(argc, argv);// 以下是翻译,根据不同style,可以显示不同的最下方按钮为中文#ifndef QT_NO_TRANSLATIONQString translatorFileName = QLatin1String("qt_");translatorFileName += QLocale::system().name();QTranslator *translator = new QTranslator(&app);if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))app.installTranslator(translator);#endifQWizard wizard;wizard.addPage(createIntroPage());wizard.addPage(createRegistrationPage());wizard.addPage(createConclusionPage());wizard.setWindowTitle("Trivial Wizard");wizard.show();return app.exec();}

完整示例

#include <QtWidgets>
#include <QTranslator>
#include <QLocale>
#include <QLibraryInfo>// 创建Intro页
QWizardPage *createIntroPage()
{QWizardPage *page = new QWizardPage;page->setTitle("Introduction");QLabel *label = new QLabel("This wizard will help you register your copy ""of Super Product Two.");label->setWordWrap(true);QVBoxLayout *layout = new QVBoxLayout;layout->addWidget(label);page->setLayout(layout);return page;
}
// 创建Registration页
QWizardPage *createRegistrationPage()
{QWizardPage *page = new QWizardPage;page->setTitle("Registration");page->setSubTitle("Please fill both fields.");QLabel *nameLabel = new QLabel("Name:");QLineEdit *nameLineEdit = new QLineEdit;QLabel *emailLabel = new QLabel("Email address:");QLineEdit *emailLineEdit = new QLineEdit;QGridLayout *layout = new QGridLayout;layout->addWidget(nameLabel, 0, 0);layout->addWidget(nameLineEdit, 0, 1);layout->addWidget(emailLabel, 1, 0);layout->addWidget(emailLineEdit, 1, 1);page->setLayout(layout);return page;
}
// 创建Conclusion页
QWizardPage *createConclusionPage()
{QWizardPage *page = new QWizardPage;page->setTitle("Conclusion");QLabel *label = new QLabel("You are now successfully registered. Have a ""nice day!");label->setWordWrap(true);QVBoxLayout *layout = new QVBoxLayout;layout->addWidget(label);page->setLayout(layout);return page;
}
// 调用
int main(int argc, char *argv[])
{QApplication app(argc, argv);// 翻译
#ifndef QT_NO_TRANSLATIONQString translatorFileName = QLatin1String("qt_");translatorFileName += QLocale::system().name();QTranslator *translator = new QTranslator(&app);if (translator->load(translatorFileName, QLibraryInfo::location(QLibraryInfo::TranslationsPath)))app.installTranslator(translator);
#endifQWizard wizard;wizard.addPage(createIntroPage());wizard.addPage(createRegistrationPage());wizard.addPage(createConclusionPage());wizard.setWindowTitle("Trivial Wizard");wizard.show();return app.exec();
}

解释

代码定义了一个简单的 Qt 向导,包括三个页面:Intro(介绍)、Registration(注册)和Conclusion(结论),并提供了一些翻译支持。

createIntroPage() 函数中,创建了一个 QWizardPage 对象,设置了页面的标题和一个 QLabel,用于显示介绍文字。

createRegistrationPage() 函数中,同样创建了一个 QWizardPage 对象,并设置了页面的标题和子标题。然后添加了两个 QLineEdit 和两个 QLabel,用于输入和显示用户的姓名和电子邮件地址。

createConclusionPage() 函数中,也创建了一个 QWizardPage 对象,并设置了页面的标题和一个 QLabel,用于显示注册成功的消息。

main() 函数中,首先创建了一个 QApplication 对象,用于运行整个 Qt 应用程序。然后检查是否启用了翻译功能,如果是,则加载相应的翻译文件,并将其安装到应用程序中。

接下来创建了一个 QWizard 对象,并添加了三个页面。设置了向导的标题,并显示出来。最后,调用 app.exec() 运行应用程序,进入 Qt 的事件循环,直到应用程序关闭或者通过主动退出来结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/192018.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

房产中介租房小程序系统开发搭建:详细指南教你如何构建

随着微信小程序的日益普及&#xff0c;越来越多的企业和个人开始尝试开发自己的小程序。以下是制作一个房地产微信小程序的详细教程&#xff0c;希望对大家有所帮助。 一、注册登录乔拓云平台&#xff0c;进入后台 首先&#xff0c;需要注册并登录乔拓云平台&#xff0c;该平台…

爬虫,TLS指纹 剖析和绕过

当你欲爬取某网页的信息数据时&#xff0c;发现通过浏览器可正常访问&#xff0c;而通过代码请求失败&#xff0c;换了随机ua头IP等等都没什么用时&#xff0c;有可能识别了你的TLS指纹做了验证。 解决办法&#xff1a; 1、修改 源代码 2、使用第三方库 curl-cffi from curl…

警方打击了大规模网络钓鱼提供商BulletProftLink

导语 最近&#xff0c;马来西亚皇家警察宣布成功打击了一个名为BulletProftLink的大规模网络钓鱼提供商。这个提供超过300个钓鱼模板的平台被查封&#xff0c;给全球网络安全带来了巨大的利好消息。本文将带您了解这个引人注目的行动背后的故事&#xff0c;并揭示BulletProftLi…

密钥安全存储方案探讨与实践

随着信息技术的迅猛发展和应用范围的不断扩大&#xff0c;我们日常生活中的许多方面已经与信息技术密不可分。而在信息安全领域中&#xff0c;密钥的安全存储显得尤为重要。本文将探讨密钥安全存储的必要性、相关技术和实践方案&#xff0c;并提出一些解决方案。 一、密钥安全存…

Nexus的Maven私有仓库搭建

Nexus的maven私有仓库搭建 一、了解 maven仓库设置 默认设置 其中&#xff1a; maven-central: 预定义的代理Maven Central仓库&#xff0c;它包含了大量的开源Java依赖包。maven-public: 存储库是一个组合存储库&#xff0c;它包含了maven-releases和maven-snapshots存储库…

绘制函数图像

import pandas as pd from plotnine import *# 定义自定义函数 def f(x):return x**2# 生成 x 值 x_values range(-10, 11)# 生成对应的 y 值 y_values [f(x) for x in x_values]# 创建数据框 df pd.DataFrame({x: x_values, y: y_values}) # df为&#xff1a;x y 0 -10…

Python入门教程:12个常用基础语法详解

文章目录 前言1.多个字符串组合为一个字符串2. 字符串拆分为子字符串列表3. 统计列表中元素的次数4.使用try-except-else-block模块5. 使用枚举函数得到key/value对6. 检查对象的内存使用情况7. 合并字典8. 计算执行一段代码所花费的时间9. 列表展开10. 列表采样11. 数字化12. …

redis 安装

概览 1.redis下载 1.1.下载Redis 历史版本redis网址&#xff1a;http://download.redis.io/releases/ 建议下载和我一样的版本 6.0.5 将刚才下载好的压缩文件移动到local文件夹内,可以手动移动或者用命令移动 命令行 移动命名&#xff1a;mv 将下载的包拖动到命令行 /usr/loc…

WebGl-Blender:建模 / 想象成形 / 初识 Blender

一、理解Blender 欢迎来到Blender&#xff01;Blender是一款免费开源的3D创作套件。 使用Blender&#xff0c;您可以创建3D可视化效果&#xff0c;例如建模、静态图像&#xff0c;3D动画&#xff0c;VFX&#xff08;视觉特效&#xff09;快照和视频编辑。它非常适合那些受益于…

王道数据结构课后代码题p19 第14题请设计一个尽可能高效的算法,计算并输出所有可能的三元组(a,b,c) 中的最小距离。(c语言代码实现)

本题其实就是找a到c的最小值 有讲解p19 第14题 c语言实现王道数据结构课后代码题_哔哩哔哩_bilibili 下方有图&#xff1a; 本题代码如下 int abs(int a)//计算绝对值 {if (a < 0)return -a;elsereturn a; } int min(int a, int b, int c)//a是否为三个数中的最小值 {if …

使用ant+jmeter如何生成html报告

一、安装ant 下载apache-ant&#xff0c;放到对应路径下&#xff0c;然后进行环境变量配置。系统变量的CLASSPATH添加E:\Installation Pack\eclipse\apache-ant-1.9.6\lib;用户变量的PATH添加&#xff1a;E:\Installation Pack\eclipse\apache-ant-1.9.6\bin。打开cmd&#xf…

【业务场景】长列表的处理

长列表的处理 1. 什么是长列表 在前端开发中&#xff0c;经常会遇到列表展示&#xff0c;如果列表项的数量比较多&#xff0c;我们一般选择采用分页的方式来进行处理 但传统的前后翻页方式只适用于后台的管理系统中&#xff0c;而在用户端、尤其是在移动端&#xff0c;为了保…

基于51单片机PCF8591数字电压表数码管显示设计( proteus仿真+程序+设计报告+讲解视频)

PCF8591数字电压表数码管显示 1.主要功能&#xff1a;讲解视频&#xff1a;2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单&&下载链接资料下载链接&#xff08;可点击&#xff09;&#xff1a; 基于51单片机PCF8591数字电压表数码管设计( proteus仿真程序设计报告讲…

kafka和rocketMq的区别

kafka topic 中每一个分区会有 Leader 与 Follow。Kafka 的内部机制可以保证 topic 某一个分区的 Leader 与 Follow 不在同一台机器上 Leader 节点承担一个分区的读写&#xff0c;Follow 节点只负责数据备份 如果 Leader 分区所在的 Broker 节点宕机&#xff0c;会触发主从节…

【C/C++底层】内存分配:栈区(Stack)与堆区(Heap)

/*** poject * author jUicE_g2R(qq:3406291309)* file 底层内存分配&#xff1a;栈区(Stack)与堆区(Heap)* * language C/C* EDA Base on MVS2022* editor Obsidian&#xff08;黑曜石笔记软件&#xff09;* * copyright 2023* COPYRIGHT …

Linux应用层点亮硬件的LED灯

一 应用层操作硬件的两种方法 应用层想要对底层硬件进行操控&#xff0c;通常可以通过两种方式&#xff1a; /dev/目录下的设备文件&#xff08;设备节点&#xff09;&#xff1b;/sys/目录下设备的属性文件。 具体使用哪种方式需要根据不同功能类型设备进行选择&#xff0c;通…

保序回归:拯救你的校准曲线(APP)

保序回归&#xff1a;拯救你的校准曲线&#xff08;APP&#xff09; 校准曲线之所以是评价模型效能的重要指标是因为&#xff0c;校准曲线衡量模型预测概率与实际发生概率之间的一致性&#xff0c;它可以帮助我们了解模型的预测结果是否可信。一个理想的模型应该能够准确地预测…

Python 框架学习 Django篇 (十) Redis 缓存

开发服务器系统的时候&#xff0c;程序的性能是至关重要的。经过我们前面框架的学习&#xff0c;得知一个请求的处理基本分为接受http请求、数据库处理、返回json数据&#xff0c;而这3个部分中就属链接数据库请求的响应速度最慢&#xff0c;因为数据库操作涉及到数据库服务处理…

深入了解springmvc响应数据

目录 一、前后端分离开发与混合开发 1.1 混合开发模式 1.2 前后端分离模式【重点】 二、页面跳转控制 2.1 通过JSP实现页面跳转 2.2 转发与重定向 三、返回JSON数据 3.1 导包与配置 3.2 使用ResponseBody 四、返回静态资源 4.1 为什么无法直接查询静态资源 4.2 配置…

vscode 访问本地或者远程docker环境

1、vscode 访问docker本地环境 直接点击左下角连接图标&#xff0c;弹出选项可以选择容器&#xff0c;只要容器在本地运行者&#xff0c;选择attach可以看到运行中的容器可以选择&#xff0c;选择其中需要选择的就行 ## 运行容器&#xff0c;可以-d后台运行都可以 docker run…