图形视图(17):【类】QGraphicsWidget[官翻]

2023-11-14

QGraphicsWidget 类

QGraphicsWidget类是QGraphicsScene中所有小部件项目的基类。

Header: #include < QGraphicsWidget >
qmake: QT += widgets
Inherits: QGraphicsObject ,QGraphicsLayoutItem
Inherited By: QGraphicsProxyWidget
Since: Qt 4.2

详述

QGraphicsWidget是一个扩展的基础项目,它提供了QGraphicsItem以外的其他功能。它在许多方面类似于QWidget:

  • 提供一个调色板,一个字体和一个style() 。
  • 具有定义的geometry() 。
  • 通过setLayout() 和layout() 支持布局。
  • 支持grabShortcut() 和insertAction() 的快捷方式和操作

与QGraphicsItem不同,QGraphicsWidget不是抽象类。您可以创建QGraphicsWidget的实例,而不必对其进行子类化。对于仅用于将子小部件组织到布局中的目的的小部件,此方法很有用。

如果您需要高级输入焦点处理(例如,标签焦点和激活或布局),则QGraphicsWidget可用作您自己的自定义项目的基础项目。

由于QGraphicsWidget与QWidget类似并且具有相似的API,因此将小部件从QWidget移植到QGraphicsWidget而不是QGraphicsItem更加容易。

注意:可以使用QGraphicsProxyWidget将基于QWidget的窗口小部件直接嵌入到QGraphicsScene中。

QGraphicsWidget和QWidget之间的明显区别是:

QGraphicsWidget QWidget
坐标和几何图形是用qreal(双精度浮点数,取决于平台)定义的。 QWidget使用整数几何(QPoint, QRect)。
默认情况下,小部件已经是可见的;您不必调用show()来显示小部件。 QWidget默认是隐藏的,直到调用show()。
支持小部件属性的子集。 支持所有小部件属性。
顶级项目的样式默认为QGraphicsScene::style 顶级小部件的样式默认为QApplication::style
图形视图提供了一个自定义的拖放框架,不同于QWidget。 标准的拖放框架。
小部件项不支持模态。 全面的模态支持。

QGraphicsWidget支持Qt的widget属性的子集(Qt::WidgetAttribute),如下表所示。 此表中列出的所有属性均受支持或使用。

Widget Attribute Usage
Qt::WA_SetLayoutDirection 由setLayoutDirection() 设置,由unsetLayoutDirection() 清除。 您可以测试此属性,以检查是否已为窗口小部件明确分配了layoutDirection。 如果未设置该属性,则将继承layoutDirection() 。
Qt::WA_RightToLeft 由setLayoutDirection() 切换。 继承自父级/场景。 如果设置,则小部件的布局将按从右到左的顺序排列水平排列的小部件。
Qt::WA_SetStyle 由setStyle() 设置和清除。 如果设置了此属性,则已为窗口小部件明确指定了样式。 如果未设置,则小部件将使用场景或应用程序的样式。
Qt::WA_Resized 由setGeometry() 和resize() 设置。
Qt::WA_SetPalette 由setPalette() 设置。
Qt::WA_SetFont 由setFont() 设置。
Qt::WA_WindowPropagation 允许传播到窗口小部件。

尽管QGraphicsWidget继承自QObject和QGraphicsItem,但是您应该使用QGraphicsItem提供的功能(而不是QObject)来管理父项和子项之间的关系。 这些功能控制物品的堆叠顺序及其所有权。

注意:QObject::parent() 应该始终为QGraphicsWidgets返回nullptr,但是未严格定义此策略。

另请参见QGraphicsProxyWidget,QGraphicsItem以及小部件和布局。

公共类型

enum anonymous

由virtual type()函数返回的值。

Constant Value Description
QGraphicsTextItem::Type 11 图形小部件项

属性

autoFillBackground : bool

此属性保存是否自动填充小部件背景
如果启用,此属性将导致Qt在调用paint() 方法之前填充小部件的背景。 使用的颜色由小部件调色板中的QPalette::Window颜色角色定义。

此外,除非设置了WA_OpaquePaintEvent或WA_NoSystemBackground属性,否则Windows始终会用QPalette::Window填充。

默认情况下,此属性为false。此属性在Qt 4.7中引入。

Access functions:

  • bool autoFillBackground() const
  • void setAutoFillBackground(bool enabled)

另请参见Qt::WA_OpaquePaintEvent和Qt::WA_NoSystemBackground。

focusPolicy : Qt::FocusPolicy

此属性保存小部件接受键盘焦点的方式
如果窗口小部件通过制表键接受键盘焦点,则焦点策略为Qt::TabFocus;如果窗口小部件通过单击接受焦点,则焦点策略为Qt::ClickFocus;如果窗口小部件同时接受两者,则焦点策略为Qt::StrongFocus;如果它同时接受Qt::NoFocus(默认值) 根本不接受焦点。

如果小部件处理键盘事件,则必须为其启用键盘焦点。 通常这是从小部件的构造函数完成的。 例如,QLineEdit构造函数调用setFocusPolicy(Qt::StrongFocus)。

如果启用焦点策略(即,不是Qt::NoFocus),则QGraphicsWidget将自动启用ItemIsFocusable标志。 在小部件上设置Qt::NoFocus将清除ItemIsFocusable标志。 如果小部件当前具有键盘焦点,则该小部件将自动失去焦点。

Access functions:

  • Qt::FocusPolicy focusPolicy() const
  • void setFocusPolicy(Qt::FocusPolicy policy)

另请参见focusInEvent() ,focusOutEvent() ,keyPressEvent() ,keyReleaseEvent() 和 enabled。

font : QFont

该属性保存小部件的字体
QFont由已明确定义的字体属性和从小部件的父级隐式继承的属性组成。 因此,与使用setFont() 设置的字体相比,font() 可以返回不同的字体。 该方案允许您在字体中定义单个条目,而不会影响字体的继承条目。

当窗口小部件的字体更改时,它将根据其父窗口小部件解析其条目。 如果该窗口小部件没有父窗口小部件,它将根据场景解析其条目。 然后,小部件将自己发送一个FontChange事件并通知其所有后代,以便他们也可以解析其字体。

默认情况下,此属性包含应用程序的默认字体。

Access functions:

  • QFont font() const
  • void setFont(const QFont &font)

另请参见QApplication::font() ,QGraphicsScene::font和QFont::resolve() 。

geometry : QRectF

此属性保存小部件的几何形状

设置项目的几何形状为矩形。 调用此函数可修改项目的位置和大小。 该项目首先被移动,然后被调整大小。
调用此函数的副作用是该小部件将接收一个move事件和一个resize事件。 此外,如果为小部件分配了布局,则该布局将被激活。

Access functions:

  • QRectF QGraphicsLayoutItem::geometry() const
  • void setGeometry(qreal x, qreal y, qreal w, qreal h)

layout : QGraphicsLayout

该属性保存小部件的布局

在分配新布局之前,将删除任何现有的布局管理器。 如果layout为nullptr,则该窗口小部件将不具有布局。 现有的subwidgets的几何形状将不受影响。

QGraphicsWidget获取布局的所有权。

当前由布局或其所有子布局管理的所有小部件都将自动重新设置为此项目的父级。 然后使布局无效,并且根据该项目的geometry() 和contentsMargins() 调整子窗口小部件的几何形状。 将布局分配给此小部件后,未由布局明确管理的子代将不受布局的影响。

如果当前没有布局管理此小部件,则layout() 将返回nullptr。

Access functions:

  • QGraphicsLayout * layout() const
  • void setLayout(QGraphicsLayout *layout)

Notifier signal:

  • void layoutChanged()

layoutDirection : Qt::LayoutDirection

此属性保存此小部件的布局方向
此属性修改此小部件及其所有后代的Qt::WA_RightToLeft属性。它还设置了此小部件的Qt::WA_SetLayoutDirection属性。

小部件的布局方向确定布局管理器水平排列此小部件的子小部件的顺序。默认值取决于应用程序的语言和语言环境,并且通常与读取和写入单词的方向相同。使用Qt::LeftToRight,布局开始从此小部件的左侧向右侧放置子小部件。 Qt::RightToLeft做相反的事情-布局将从右边缘开始向左放置小部件。

子小部件从父级继承其布局方向。顶级小部件项目从QGraphicsScene::layoutDirection继承其布局方向。如果通过调用setLayoutDirection() 来更改窗口小部件的布局方向,则该窗口小部件将向自身发送LayoutDirectionChange事件,然后将新的布局方向传播到其所有后代。

Access functions:

  • Qt::LayoutDirection layoutDirection() const
  • void setLayoutDirection(Qt::LayoutDirection direction)
  • void unsetLayoutDirection()

另请参见QWidget::layoutDirection和QApplication::layoutDirection。

maximumSize : const QSizeF

此属性保存小部件的最大大小

另请参见QGraphicsLayoutItem::setMaximumSize() ,QGraphicsLayoutItem::maximumSize() 。

minimumSize : const QSizeF

此属性保存小部件的最小大小

另请参见QGraphicsLayoutItem::setMinimumSize(), QGraphicsLayoutItem::minimumSize()。

palette : QPalette

此属性保存小部件的调色板
调色板为颜色组(例如QPalette::Button)和状态(例如QPalette::Inactive)提供颜色和画笔,从而松散定义了小部件及其子级的一般外观。
QPalette由已经明确定义的颜色组和从小部件的父级隐式继承的组组成。 因此,palette() 可以返回与setPalette() 所设置的调色板不同的调色板。 该方案允许您在调色板中定义单个条目,而不会影响调色板的继承条目。
当窗口小部件的调色板更改时,它将根据其父窗口小部件解析其条目,或者如果它没有父窗口小部件,则针对场景进行解析。 然后,它向自己发送一个PaletteChange事件,并通知其所有后代,以便他们也可以解析其调色板。
默认情况下,此属性包含应用程序的默认调色板。

Access functions:

  • QPalette palette() const
  • void setPalette(const QPalette &palette)

另请参见QGuiApplication::palette() ,QGraphicsScene::palette和QPalette::resolve() 。

preferredSize : const QSizeF

此属性保存小部件的首选大小

另请参见QGraphicsLayoutItem::setPreferredSize() ,QGraphicsLayoutItem::preferredSize() 。

size : QSizeF

此属性保存小部件的大小
调用resize() 会将窗口小部件的大小调整为由minimumSize() 和maximumSize() 限制的大小。 此属性仅影响窗口小部件的宽度和高度(例如,其右边缘和底边缘); 小部件的位置和左上角不受影响。
调整窗口小部件的大小会触发窗口小部件立即接收具有窗口小部件的旧大小和新大小的GraphicsSceneResize事件。 如果在此事件到达时为窗口小部件分配了布局,则该布局将被激活,并且它将自动更新任何子窗口小部件的几何形状。
此属性不会影响父窗口小部件的任何布局。 如果小部件本身由父级布局管理; 例如,它具有分配了布局的父窗口小部件,该布局将不会激活。
默认情况下,此属性包含一个宽度和高度为零的大小。

Access functions:

  • QSizeF size() const
  • void resize(const QSizeF &size)
  • void resize(qreal w, qreal h)

Notifier signal:

  • void geometryChanged()

sizePolicy : const QSizePolicy

此属性保存窗口小部件的大小策略

另请参见QGraphicsLayoutItem::sizePolicy() ,QGraphicsLayoutItem::setSizePolicy() 和QWidget::sizePolicy() 。

windowFlags : Qt::WindowFlags

此属性保存窗口小部件的窗口标志
窗口标志是窗口类型(例如Qt::Dialog)和几个标志的组合,这些标志提供了有关窗口行为的提示。 该行为是平台相关的。
默认情况下,此属性不包含任何窗口标志。
窗户是面板。 如果设置了Qt::Window标志,ItemIsPanel标志将被自动设置。 如果清除Qt::Window标志,则也会清除ItemIsPanel标志。 请注意,可以独立于Qt::Window设置ItemIsPanel标志。

Access functions:

  • Qt::WindowFlags windowFlags() const
  • void setWindowFlags(Qt::WindowFlags wFlags)

参见QGraphicsItem::isWindow() 和QGraphicsItem::isPanel() 。

windowTitle : QString

此属性保存窗口标题(标题) 此属性仅用于Windows。
默认情况下,如果未设置标题,则此属性包含一个空字符串。

Access functions:

  • QString windowTitle() const
  • void setWindowTitle(const QString &title)

公共函数

构造和析构

  • QGraphicsWidget(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
  1. virtual ~QGraphicsWidget()

属性相关

  1. bool autoFillBackground() const
  2. void setAutoFillBackground(bool enabled)
  3. Qt::FocusPolicy focusPolicy() const
  4. void setFocusPolicy(Qt::FocusPolicy policy)
  5. QFont font() const
  6. void setFont(const QFont &font)
  7. void setGeometry(qreal x, qreal y, qreal w, qreal h)
  8. QGraphicsLayout * layout() const
  9. void setLayout(QGraphicsLayout *layout)
  10. Qt::LayoutDirection layoutDirection() const
  11. void setLayoutDirection(Qt::LayoutDirection direction)
  12. void unsetLayoutDirection()
  13. QPalette palette() const
  14. void setPalette(const QPalette &palette)
  15. QSizeF size() const
  16. void resize(const QSizeF &size)
  17. void resize(qreal w, qreal h)
  18. Qt::WindowFlags windowFlags() const
  19. void setWindowFlags(Qt::WindowFlags wFlags)
  20. QString windowTitle() const
  21. void setWindowTitle(const QString &title)

QAction

  1. QList<QAction *> actions() const
  2. void addAction(QAction *action)
  3. void addActions(QList<QAction *> actions)
  4. void insertAction(QAction *before, QAction *action)
  5. void insertActions(QAction *before, QList<QAction *> actions)
  6. void removeAction(QAction *action)

Margin

  1. virtual void getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const override
  2. void setContentsMargins(QMarginsF margins)
  3. void setContentsMargins(qreal left, qreal top, qreal right, qreal bottom)
  4. void getWindowFrameMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
  5. void setWindowFrameMargins(QMarginsF margins)
  6. void setWindowFrameMargins(qreal left, qreal top, qreal right, qreal bottom)
  7. void unsetWindowFrameMargins()

Shortcut

  1. int grabShortcut(const QKeySequence &sequence, Qt::ShortcutContext context = Qt::WindowShortcut)
  2. void setShortcutEnabled(int id, bool enabled = true)
  3. void releaseShortcut(int id)
  4. void setShortcutAutoRepeat(int id, bool enabled = true)

大小

  1. QRectF rect() const
  2. QRectF windowFrameGeometry() const
  3. QRectF windowFrameRect() const

风格

  1. QStyle * style() const
  2. void setStyle(QStyle *style)

其它

  1. void adjustSize()
  2. QGraphicsWidget * focusWidget() const
  3. bool isActiveWindow() const
  4. virtual void paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
  5. Qt::WindowType windowType() const

重写的公共函数

  1. virtual QRectF boundingRect() const override
  2. virtual void getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const override
  3. virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override
  4. virtual void setGeometry(const QRectF &rect) override
  5. virtual QPainterPath shape() const override
  6. virtual int type() const override

公共槽

  1. bool close()

信号

  1. void geometryChanged()
  2. void layoutChanged()

静态公共函数

  1. void setTabOrder(QGraphicsWidget *first, QGraphicsWidget *second)

受保护的函数

  1. virtual void changeEvent(QEvent *event)
  2. virtual void closeEvent(QCloseEvent *event)
  3. virtual bool focusNextPrevChild(bool next)
  4. virtual void grabKeyboardEvent(QEvent *event)
  5. virtual void grabMouseEvent(QEvent *event)
  6. virtual void hideEvent(QHideEvent *event)
  7. virtual void initStyleOption(QStyleOption *option) const
  8. virtual void moveEvent(QGraphicsSceneMoveEvent *event)
  9. virtual void polishEvent()
  10. virtual void resizeEvent(QGraphicsSceneResizeEvent *event)
  11. virtual void showEvent(QShowEvent *event)
  12. virtual void ungrabKeyboardEvent(QEvent *event)
  13. virtual void ungrabMouseEvent(QEvent *event)
  14. virtual bool windowFrameEvent(QEvent *event)
  15. virtual Qt::WindowFrameSection windowFrameSectionAt(const QPointF &pos) const

重写的受保护的函数

  1. virtual bool event(QEvent *event) override
  2. virtual void focusInEvent(QFocusEvent *event) override
  3. virtual void focusOutEvent(QFocusEvent *event) override
  4. virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override
  5. virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event) override
  6. virtual QVariant itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override
  7. virtual bool sceneEvent(QEvent *event) override
  8. virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override
  9. virtual void updateGeometry() override

演示代码

#include <QtWidgets>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    app.setApplicationName ("Graphics Framework");
    QGraphicsScene scene;
    scene.setSceneRect(0, 0, 800, 480);

    QGraphicsWidget *w = new QGraphicsWidget(nullptr, Qt::Window);
    w->resize (400,300);
    w->setPos (50,50);
    w->setGeometry (50,50,400,300);

    QObject::connect (w,&QGraphicsWidget::geometryChanged,[&]{
        qDebug() << w->geometry () << w->windowFrameGeometry ();
                      });

    QPalette palette = app.palette ();
    palette.setBrush (QPalette::Background,Qt::red);
    w->setPalette (palette);

    w->setWindowTitle ("QGraphicsWidget");
    w->setFlags (QGraphicsItem::ItemIsMovable);

    scene.addItem(w);
    scene.setBackgroundBrush(Qt::darkGreen);
    QGraphicsView view(&scene);

    view.show();

    return app.exec();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图形视图(17):【类】QGraphicsWidget[官翻] 的相关文章

  • java awt linux_解决在linux下awt调用错误的问题

    在java中使用awt在服务器上处理图片的时候发现有错 第一遍执行 500 Servlet Exception java lang InternalError Can t connect to X11 window server using
  • MyBatis自动生成实体类

    MyBatis MySQL生成实体类 需要的工具jar包 mybatis generator core 1 3 2 jar mysql connector java 5 0 4 jar 第一步 编写一个MybatisGeneratorUti
  • android 之 如何让app没有图标

    我们有时候需要让我们的app没有图标 不要问我没有图标要干啥 我只是说的一个需求 单讲技术不说别的 首先我们要获得 PackageManager 的对象 PackageManager packageManager getPackageMan
  • Caffeine缓存的使用

    1 springboot集成Caffeine
  • KeePass搭建一个私人密码库

    文章作者 GoodBoyboy 文章链接 https blog goodboyboy top posts 2546190081 html 版权声明 本博客所有文章除特别声明外 均采用 CC BY NC SA 4 0 许可协议 转载请注明来自
  • 线程(进程)的同步与互斥实例

    1 有一个队列 线程1负责从网络接收分组 并将收到的分组放到队列尾 然后再次从网络中接收下一个到达的分组 并进行同样的队列操作 线程2从此队列头中取出一个分组进行处理 处理完毕后 再次从队列中取出一个分组进行处理 处理完毕后再次从队列头取出
  • [转]Python实现多功能音乐播放器

    前言 就是用Python做一个简易的音乐播放器 废话不多说 咱们直接开干 当然 今天做这个肯定不是最简单的 最简单的音乐播放器 9行代码足以 import time import pygame file r 歌曲路径 pygame mixe
  • torch.hub.load()解析,如何加载本地权重

    用yolov5训练了一个权重 项目只能部署在本地 官方文档 torch hub load repo or dir model args source github force reload False verbose True skip v
  • Python 第一阶段

    第一章 安装 1 1 开发环境 官网 https www python org稳定版 Stable Releases检验 cmd 命令 python version 1 2 开发工具 PyCharm官网 https www jetbrain
  • (Struts2学习篇) Struts2配置文件之 struts-default.xml

    对struts default xml的一些注释
  • zmq+protobuf 的坑点难点

    zmq protobuf 的坑点难点 之前项目要用到zmq protobuf的方式传递数据 软件采用前后端分离的方式开发 其中前端是异地同事用python开发的 后端是我们这边用C 开发的 1 中间有遇到问题是前后端传送zmq信息时 发现字
  • DRM驱动(七)之atomic_commit

    上节已经把应用的参数check了一遍 这次就可以把对应的参数配置到硬件里进行刷图操作了 int drm atomic commit struct drm atomic state state struct drm mode config c
  • Qt 控制台运行无法弹出小黑框

    Qt Console Application Qt 主要是GUI界面的设计 但在学习的时候控制台运行显得更加方便一些 小编在第一次新建控制台运行的时候 点击运行没有弹出小黑框 解决方法 主要是因为没有执行qmake 就需要在Qt的pro文件
  • RocketMQ 用法详解,你学会了吗?

    大家好 我是指北君 消息中间件是我们工作中使用最频繁的一类中间件 它具有低耦合 可靠投递 广播 流量控制 最终一致性等一系列功能 成为异步RPC的主要手段之一 当今市面上有很多主流的消息中间件 如老牌的ActiveMQ RabbitMQ 炙
  • C++的使用小教程2——基于范围的for循环

    C 的使用小教程2 基于范围的for循环 1 常规的for循环 2 基于范围的for循环 在学习了python之后 一直觉得python的语法很方便 特别是python中遍历数组的方式 无需配置特别的参数就可以完全遍历 C语言是很难实现的
  • zookeeper和Eureka

    简介 Zookeeper 主要为大型分布式计算提供开源的分布式配置服务 同步服务和命名注册 曾经是Hadoop项目中的一个子项目 用来控制集群中的数据 目前已经升级为独立的顶级项目 很多场景下也用它作为Service发现服务解决方案 Eur
  • freessl生成免费ssl

    利用freessl免费生成https https freessl cn acme deploy 官网说明地址 https blog freessl cn acme quick start 下载acme工具包 curl https get a
  • 拟合是什么意思

    在机器学习和统计学中 拟合 Fitting 是指使用模型来适应数据的过程 它表示通过对模型参数进行调整 使模型能够最好地拟合给定的数据集 当我们说一个模型 拟合 了数据时 意味着该模型通过学习数据的模式和结构 能够产生与实际观测数据相匹配的
  • Spring Cloud Alibaba之配置管理组件 - Nacos

    TOC 使用Nacos管理配置 为什么要需要配置管理 在微服务架构中 每个微服务都有可能会存在多个实例 为了保证同一微服务不同实例的配置文件内容一致 我们就需要有一个服务可以对微服务项目的配置文件进行统一管理 通常我们将其称之为统一配置管理

随机推荐

  • Qt系列文章之 QDataStream

    上一篇文章介绍了如何使用QFileDialog来选择文件路径并读入项目界面 本文介绍如何使用Qt的序列化技术来将用户定义的一些变量保存到文件 用到的主要模块是QDataStream 对象序列化 QDataStream Qt提供了两个关键的二
  • 【STM32】HAL库实现定时器多通道输入捕获频率

    原理说明 捕获信号的频率其实有很多中实现方式 外部中断 输入捕获 使用外部时钟计数器等 对STM32有一定了解的朋友们在测量频率的问题上往往都会想到利用输入捕获 输入捕获的方式在中低频率段 1HZ 200KHZ 的测量还是比较准确的 在高频
  • Qt如何画圆或椭圆 QPainter

    paint gt drawEllipse 20 20 210 160 将圆或椭圆框在一个矩形中 括号中的四个参数指定矩形的参数 左上角坐标 20 20 宽高为 210 160 更新 这里的paint类型为QPainter 画椭圆 该椭圆内切
  • 字符设备驱动框架及测试程序

    字符设备驱动框架及测试程序 1 驱动框架 1 1 驱动文件 my cdev c 1 2 Makefile 2 驱动测试程序 2 1 测试文件 my cdev test c 2 2 Makefile 3 测试结果 全程打开dmesg 3 0
  • 新技术前沿-2023-基于Stable Difussion体验AI绘画

    Stable Diffusion 入门简明教程 耗时80小时 超详细的胎教级Stable Diffusion使用教程 看这一篇就够 基于ChatGPT Stable Diffusion实现AI绘画 1 简介 近年来 AI生成内容 AIGC
  • vue的优缺点

    Vue js是一个流行的前端JavaScript框架 它具有许多优点和一些缺点 下面是Vue js的优缺点 优点 1 易学易用 Vue js具有简洁的API和清晰的文档 使得学习和使用它非常容易 尤其对于有一定JavaScript和HTML
  • 用公网ip能访问,用域名不能访问

    用公网ip能访问 用域名不能访问 是缓存导致的吗 现象 如果您遇到这种现象 1 域名解析正确 通过花生壳动态域名客户端的域名诊断 看到自己的域名解析是正确的 或者通过Oray网站的域名管理界面 看到域名的A记录和服务器实际的公网ip一致 下
  • 谁看见我的猫照片了

    今天分享一个可自由拖得动的图片效果样式 先看效果 谁看见我猫的照片了 再上源码
  • python 分支结构编程 请用一行代码,编写一个回声程序,将用户输入的内容直接打印出来。

    python 分支结构编程 第一题 请用一行代码 编写一个回声程序 将用户输入的内容直接打印出来 示例 代码 print input 运行结果
  • MA模型简介及其相关性质

    文章目录 1 概述 1 1 定义 1 2 限制条件 1 3 中心化 M A q
  • 课时 16 自测题

    以下说法错误的是 单选题 A etcd 是一个商业软件 B etcd 使用 go 语言编写 C etcd 是一个分布式系统 通常由多个 server 组成一个集群 关于 etcd 重要时间节点 以下说法错误的是 单选题 A etcd 最初由
  • react 初级基础

    react基本使用 项目创建 项目的创建命令 npx create react app react basic 创建一个基本元素进行渲染 1 导入react 和 react dom import React from react impor
  • 竞赛 交通目标检测-行人车辆检测流量计数 - 竞赛

    文章目录 0 前言 1 目标检测概况 1 1 什么是目标检测 1 2 发展阶段 2 行人检测 2 1 行人检测简介 2 2 行人检测技术难点 2 3 行人检测实现效果 2 4 关键代码 训练过程 最后 0 前言 优质竞赛项目系列 今天要分享
  • 函数或变量 x 无法识别。_这个变量陷阱,连高手都躲不开

    点击上方 Python小白集训营 选 星标 公众号 重磅干货 第一时间送达 图 Pexels 日期 2021 1 2 你可能会好奇 是什么样的陷阱 连高段位的python选手也会频繁踩坑 讲这个topic前 先来讲一个例子 这是我前几个月在
  • 【华为OD考试真题】报数游戏(Python实现)

    前言 考试题目大同小异 练习真题是通过考试的捷径 思路仅供参考 如果有更好的思路 欢迎一起交流学习 创作不易 文章若对你有帮助 点个关注 谢谢 题目描述 100个人围成一圈 每个人有一个编码 编号从1开始到100 他们从1开始依次报数 报到
  • 利用LSB算法隐藏图片信息的MATLAB实现

    前一篇博客中介绍了利用LSB算法隐藏文字信息的MATLAB实现 http blog csdn net csdn moming article details 50936687 在此基础上 下面介绍利用LSB算法隐藏图片信息的MATLAB实现
  • Mt2015 lfsr

    Taken from 2015 midterm question 5 See also the first part of this question mt2015 muxdff Write the Verilog code for thi
  • python:使用unquote对url解码

    参考 python之urlencode quote 及unquote wf592523813的博客 CSDN博客 python unquote
  • 企业架构成功之道读书笔记

    企业架构成功之道读书笔记 原文 https www leanix net en enterprise architecture 企业架构成功之道 理解下一代企业架构的价值 降低成本 应用合理化 速赢 10 软件授权优化 项目合理化 应用下线
  • 图形视图(17):【类】QGraphicsWidget[官翻]

    文章目录 详述 公共类型 enum anonymous 属性 autoFillBackground bool focusPolicy Qt FocusPolicy font QFont geometry QRectF layout QGra