QWidget成员函数功能和使用详细说明(一)(文字+用例+代码+效果图)
通过简洁的用例代码、用例运行效果动图、详细注释说明QWidget类的各个成员函数的功能和调用方法
文章目录
- 1.测试工程配置
- 2.成员函数
-
- 2.1 void setAcceptDrops(bool on)
- 2.2 bool acceptDrops() const
- 2.3 void setAccessibleDescription(const QString &description)
- 2.4 bool acceptDescription() const
- 2.5 void setAccessibleName(const QString &name)
- 2.6 QString accessibleName() const
- 2.7 void setAttribute(Qt::WidgetAttribute attribute, bool on = true)
- 2.8 bool QWidget::testAttribute(Qt::WidgetAttribute attribute) const
- 2.9 void setAutoFillBackground(bool enabled)
- 2.10 bool autoFillBackground() const
- 2.11 void setBackgroundRole(QPalette::ColorRole role)
- 2.12 QPalette::ColorRole QWidget::backgroundRole() const
- 2.13 void setBaseSize(const QSize &)
- 2.14 QSize baseSize() const
- 2.15 void setBaseSize(int basew, int baseh)
- 2.16 void setSizeIncrement(const QSize &)
- 2.17 void setSizeIncrement(int w, int h)
- 2.18 QSize sizeIncrement() const
- 2.19 void setContentsMargins(int left, int top, int right, int bottom)
- 2.20 void setContentsMargins(const QMargins &margins)
- 2.21 QRect QWidget::contentsRect() const
- 2.22 QMargins QWidget::contentsMargins() const
- 2.23 void setContextMenuPolicy(Qt::ContextMenuPolicy policy)
- 2.24 void setCursor(const QCursor &)
- 2.25 void unsetCursor()
- 2.26 QCursor cursor() const
1.测试工程配置
创建名为QtGuiAppTest的qwidget工程,带ui文件
2.成员函数
继承自QObject和QPaintDevice。QObject详见QObject各成员函数功能详细说明(文字+用例+代码+效果图)
2.1 void setAcceptDrops(bool on)
acceptDrops : bool这个属性代表放下事件(drop events)在当前widget是否是使能的;将该属性设置为true,即是向系统声明了当前widget可以接受放下事件。
如果当前widget是桌面,则当其他应用正在使用桌面时,设置true的行为可能会失败。可以通过调用acceptDrops()判断widget是否接收放下事件。具体使用参考另一篇文章《图形视图框架》中的拖拽机制。
2.2 bool acceptDrops() const
获取widget是否能接收放下事件的状态,true为能接收。
2.3 void setAccessibleDescription(const QString &description)
accessibleDescription : QString这个属性保存了widget的描述,该描述可以通过辅助技术手段看到(例如辅助显示的客户端,提供视觉外观的文本说明,可以为视弱或盲人用户提供更多的上下文,也可用于上下文搜索或其他应用程序)。
一个widget的描述应该传递这个widget是做什么的的描述。当一个widget的accessibleName是一个简短的字符串(例如:保存),那么这个描述应该给更多的上下文信息(例如:保存当前文档)。默认情况下,该属性包含一个空的字符串。
2.4 bool acceptDescription() const
获取属性accessibleDescription的内容
2.5 void setAccessibleName(const QString &name)
accessibleName : QString 这个属性持有widget的名字,该名字可以通过辅助技术手段看到(说明见第2.3节)。当通过辅助技术手段例如通过屏幕阅读器去阅览界面的时候,该名字表示了一个widget。对于多数widget的设置,这个属性并不需要。例如对于qpushbutton的对象,使用按钮的text即可。
还有一种情况该属性显得比较重要,就是当widget不提供任何的文本。例如一个仅包含图片的按钮,需要设置这个属性,在屏幕阅读器中起到关键作用(让使用者知道存在一个按钮)。这个名称应该是简短且能传递出widget的视觉信息的。默认情况下,该字段包含一个空字符串。
2.6 QString accessibleName() const
获取属性accessibleName的内容
2.7 void setAttribute(Qt::WidgetAttribute attribute, bool on = true)
如果参数on为true,则调用该函数可设置名称为attribute的控件属性。否则,如果参数on为false,则调用该函数作用为清除属性attribute
Qt::WidgetAttribute为枚举值。
2.8 bool QWidget::testAttribute(Qt::WidgetAttribute attribute) const
如果指定的属性attribute已经设置在这个控件上,则返回true,否则返回false
2.9 void setAutoFillBackground(bool enabled)
autoFillBackground : bool 这个属性决定当前控件背景是否是自动填充
如果设置为true,这个属性将导致在调用绘制事件(paint event)之前,qt去填充控件的背景。填充的颜色由控件的调色板的QPalette::Window定义
窗口总是使用QPalette::Window来填充,除非WA_OpaquePaintEvent或WA_NoSystemBackground属性被设置了
如果控件的父类对背景色有一个静态渐变设置,那么这个属性就不能关闭。
默认该属性为false。应用例子见2.11节。
2.10 bool autoFillBackground() const
获取是否自动背景填充的状态
2.11 void setBackgroundRole(QPalette::ColorRole role)
(1)功能说明
将控件的背景角色设置为参数role。
背景角色定义了来自控件调色板( QPalette)的刷子(即刷子的颜色由控件调色板的枚举值确定),被用来渲染背景。
如果参数role的值是QPalette::NoRole,则控件继承父类背景角色。
QPalette::ColorRole详细定义如下:
| 常量名 | 常量值 | 描述 |
|---|---|---|
| QPalette::Window | 10 | 一个通用的背景颜色 |
| QPalette::Background | 这个值无效,请使用 QPalette::Window替代 | |
| QPalette::WindowText | 0 | 一个通用的前景颜色 |
| QPalette::Foreground | 这个值无效,请使用QPalette::WindowText替代 | |
| QPalette::Base | 9 | 用于大多数文本输入控件的背景颜色,但也用于其他的绘制-例如combobox下拉列表和工具栏的背景颜色,它通常是白色或其他浅色 |
| QPalette::AlternateBase | 16 | 用作具有交替行颜色的视图中的备用背景色 |
| QPalette::ToolTipBase | 18 | 用作qtooltip和qwhatthis的背景颜色。qtooltip使用调色板中的非活动颜色组,因为tooltips是不活动窗口 |
| QPalette::ToolTipText | 19 | 用作qtooltip和qwhatthis的背景颜色。qtooltip使用调色板中的非活动颜色组,因为tooltips是不活动窗口 |
| QPalette::PlaceholderText | 20 | 用作各种文本输入控件的占位符颜色 |
| QPalette::Text | 6 | 背景颜色用Base。通常与 WindowText相同 |
| QPalette::Button | 1 | 通用按钮背景颜色,不能与Window相同 |
| QPalette::ButtonText | 8 | 一个前景颜色,使用QPalette::Button |
| QPalette::BrightText | 7 | 文本颜色,与QPalette::WindowText有较大差别,例如黑色。 |
(2)效果展示
点击按钮,设置背景颜色为黑色
(3)调用程序
QtGuiAppTest.h
#pragma once
#include <QtWidgets/QWidget>
#include "ui_QtGuiAppTest.h"
class QtGuiAppTest : public QWidget
{
Q_OBJECT
public:
QtGuiAppTest(QWidget *parent = Q_NULLPTR);
~QtGuiAppTest();
public slots:
void slottest1();
private:
Ui::QtGuiAppTestClass ui;
};
QtGuiAppTest.cpp
#include "QtGuiAppTest.h"
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.pushButton, &QPushButton::clicked, this, &QtGuiAppTest::slottest1);
}
QtGuiAppTest::~QtGuiAppTest()
{
}
void QtGuiAppTest::slottest1()
{
//设置背景填充色
setBackgroundRole(QPalette::Dark);
//打开自动填充
setAutoFillBackground(true);
}
main.cpp
#include "QtGuiAppTest.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QtGuiAppTest w;
w.show();
return a.exec();
}
2.12 QPalette::ColorRole QWidget::backgroundRole() const
获取当前设置的背景色。
2.13 void setBaseSize(const QSize &)
baseSize : QSize,该属性控制控件的基本尺寸。
如果控件定义了sizeIncrement(),基本尺寸用于计算一个合适的控件的大小。
默认情况,对于一个新建控件,这个属性包含为0的宽与高的尺寸。
2.14 QSize baseSize() const
获取控件的基础尺寸。
2.15 void setBaseSize(int basew, int baseh)
设置当前控件的基础尺寸宽为basew,高为baseh。
2.16 void setSizeIncrement(const QSize &)
sizeIncrement : QSize 该属性存储了控件的尺寸增量
当用户调整窗口大小,尺寸大小将按照尺寸增量属性设置的大小作为步长改变。宽度改变步长为sizeIncrement().width(),高度改变步长为sizeIncrement.height(),baseSize()作为基础尺寸。设置控件尺寸为非负整数i,j:
调整后的宽度为width = baseSize().width() + i * sizeIncrement().width();
调整后的高度为height = baseSize().height() + j * sizeIncrement().height();
当为所有的控件设置尺寸增量时,该属性仅影响窗口控件。
默认情况下,该属性包含一个高度和宽度都为0的尺寸。
在windows系统下尺寸增量不起作用,可能在X11的窗口管理器中被忽略掉了。
2.17 void setSizeIncrement(int w, int h)
设置当前控件的尺寸增量宽为w,高为h。
2.18 QSize sizeIncrement() const
获取窗口尺寸增量。
2.19 void setContentsMargins(int left, int top, int right, int bottom)
(1)功能说明
设置控件窗口边框与内容的边距,包含左、上、右、下四个边距。边距被用于布局系统(边距设置只有在布局上才起效),也可能会被用于在子类中指定区域进行绘制。
(2)效果展示
(3)调用程序
QtGuiAppTest.ui
QtGuiAppTest.h
#pragma once
#include <QtWidgets/QWidget>
#include "ui_QtGuiAppTest.h"
class QtGuiAppTest : public QWidget
{
Q_OBJECT
public:
QtGuiAppTest(QWidget *parent = Q_NULLPTR);
~QtGuiAppTest();
public slots:
void slottest1();
private:
Ui::QtGuiAppTestClass ui;
};
QtGuiAppTest.cpp
#include "QtGuiAppTest.h"
#include<qpushbutton.h>
#include<qlayout.h>
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.pushButton, &QPushButton::clicked, this, &QtGuiAppTest::slottest1);
}
QtGuiAppTest::~QtGuiAppTest()
{
}
void QtGuiAppTest::slottest1()
{
ui.gridLayout_2->setContentsMargins(50, 50, 50, 50);
}
2.20 void setContentsMargins(const QMargins &margins)
重载函数,详见2.19节。
2.21 QRect QWidget::contentsRect() const
返回控件边框包括的内部区域。
2.22 QMargins QWidget::contentsMargins() const
返回控件的内容边距(获取到通过setContentsMargins设置的值)。
2.23 void setContextMenuPolicy(Qt::ContextMenuPolicy policy)
(1)功能说明
属性contextMenuPolicy : Qt::ContextMenuPolicy,表示控件如何展示上下文菜单(右键菜单),默认值是Qt::DefaultContextMenu,这个枚举值表示contextMenuEvent()函数将被调用。使用Qt::CustomContextMenu,将发出信号customContextMenuRequested()。
Qt::ContextMenuPolicy的枚举值如下:
| 常量名 | 常量值 | 描述 |
|---|---|---|
| Qt::NoContextMenu | 0 | 设置当前控件没有上下文菜单,对于上下文菜单的处理推到其父节点 |
| Qt::PreventContextMenu | 4 | 当前控件没有上下文菜单,与Qt::NoContextMenu相反,菜单的处理没有推到控件的父节点,这意味着所有鼠标右键事件通过QWidget::mousePressEvent()和QWidget::mouseReleaseEvent()被传递到控件本身 |
| Qt::DefaultContextMenu | 1 | 控件的QWidget::contextMenuEvent()被调用,使用控件的默认菜单 |
| Qt::ActionsContextMenu | 2 | 控件展示本身的action作为上下文菜单,按照action插入的顺序展示 |
| Qt::CustomContextMenu | 3 | 控件发送QWidget::customContextMenuRequested()信号,通过槽函数实现自定义上下文菜单 |
(2)效果展示
1)Qt::ActionsContextMenu用例
其中widget主界面是通过添加action,并设置Qt::ActionsContextMenu,创建的右键菜单。而textbrowser展示的是默认的右键菜单。
2)Qt::NoContextMenu用例
将上一用例中的textbrowser通过Qt::NoContextMenu指定为无上下文菜单,其他不变,效果如下
可见,如果设置textbrowser为NoContextMenu,textbrowser的右键菜单变为主界面的右键菜单,即textbrowser将右键事件传递给了其父类对象的主窗口,主窗口弹窗菜单在textbrowser的界面上。
3)Qt::PreventContextMenu用例
其中textbrowser为继承qtextbrowser的自定义控件。当设置为PreventContextMenu时,在qtextbrowser上点击右键可以看到不会再弹出父窗口的右键菜单,即点击事件不会传递到父节点中。用户可以在自定义text browser中实现右键动作。
4)Qt::DefaultContextMenu用例
将用例3)中的自定义textbrowser控件设置为默认上下文菜单,效果如下
5)Qt::CustomContextMenu用例
(3)调用程序
1)Qt::ActionsContextMenu用例
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
//给主界面添加右键菜单
QAction* pact = new QAction(QString::fromLocal8Bit("帮助"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("链接"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("刷新页面"), this);
this->addAction(pact);
//设置主界面右键菜单策略
this->setContextMenuPolicy(Qt::ActionsContextMenu);
}
2)Qt::NoContextMenu用例
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
//给主界面添加右键菜单
QAction* pact = new QAction(QString::fromLocal8Bit("帮助"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("链接"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("刷新页面"), this);
this->addAction(pact);
//设置主界面右键菜单策略
this->setContextMenuPolicy(Qt::ActionsContextMenu);
//设置textBrowser控件右键菜单策略
ui.textBrowser->setContextMenuPolicy(Qt::NoContextMenu);
}
3)Qt::PreventContextMenu用例
QtGuiAppTest.h
#pragma once
#include <QtWidgets/QWidget>
#include "ui_QtGuiAppTest.h"
#include<qtextbrowser.h>
class QtGuiAppTest : public QWidget
{
Q_OBJECT
public:
QtGuiAppTest(QWidget *parent = Q_NULLPTR);
~QtGuiAppTest();
private:
Ui::QtGuiAppTestClass ui;
};
//自定义TextBrowser控件
class MyTextBrowser : public QTextBrowser
{
public:
MyTextBrowser(QWidget* parent = nullptr);
protected:
void mousePressEvent(QMouseEvent* event) override;
void mouseReleaseEvent(QMouseEvent* event) override;
};
QtGuiAppTest.cpp
#include "QtGuiAppTest.h"
#include<qaction.h>
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
//创建自定义text browser控件
QTextBrowser* pTextBro = new MyTextBrowser(this);
pTextBro->resize(300, 300);
//设置text browser控件的右键菜单策略
pTextBro->setContextMenuPolicy(Qt::PreventContextMenu);
//给主界面添加右键菜单
QAction* pact = new QAction(QString::fromLocal8Bit("帮助"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("链接"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("刷新页面"), this);
this->addAction(pact);
//设置主界面右键菜单策略
this->setContextMenuPolicy(Qt::ActionsContextMenu);
}
QtGuiAppTest::~QtGuiAppTest()
{
}
MyTextBrowser::MyTextBrowser(QWidget* parent): QTextBrowser(parent)
{
}
//接收鼠标按下事件
void MyTextBrowser::mousePressEvent(QMouseEvent* event)
{
this->append(QString::fromLocal8Bit("鼠标按下事件"));
QTextBrowser::mousePressEvent(event);
}
//接收鼠标释放事件
void MyTextBrowser::mouseReleaseEvent(QMouseEvent* event)
{
this->append(QString::fromLocal8Bit("鼠标释放事件"));
QTextBrowser::mouseReleaseEvent(event);
}
4)Qt::DefaultContextMenu用例
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
//创建自定义text browser控件
QTextBrowser* pTextBro = new MyTextBrowser(this);
pTextBro->resize(300, 300);
//设置text browser控件的右键菜单策略
pTextBro->setContextMenuPolicy(Qt::DefaultContextMenu);
//给主界面添加右键菜单
QAction* pact = new QAction(QString::fromLocal8Bit("帮助"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("链接"), this);
this->addAction(pact);
pact = new QAction(QString::fromLocal8Bit("刷新页面"), this);
this->addAction(pact);
//设置主界面右键菜单策略
this->setContextMenuPolicy(Qt::ActionsContextMenu);
}
其他部分与3)相同
5)Qt::CustomContextMenu用例
QtGuiAppTest.h
#pragma once
#include <QtWidgets/QWidget>
#include "ui_QtGuiAppTest.h"
#include<qtextbrowser.h>
#include<qmenu.h>
class QtGuiAppTest : public QWidget
{
Q_OBJECT
public:
QtGuiAppTest(QWidget *parent = Q_NULLPTR);
~QtGuiAppTest();
public slots:
void SlotTestContextMenu(const QPoint& pos);
private:
Ui::QtGuiAppTestClass ui;
//自定义菜单
QMenu* m_pMenu;
};
QtGuiAppTest.cpp
#include "QtGuiAppTest.h"
#include<qaction.h>
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
//设置右键菜单策略
this->setContextMenuPolicy(Qt::CustomContextMenu);
//链接自定义右键菜单信号与槽函数
connect(this, &QtGuiAppTest::customContextMenuRequested, this, &QtGuiAppTest::SlotTestContextMenu);
//创建自定义菜单
m_pMenu = new QMenu(this);
m_pMenu->addAction(new QAction(QString::fromLocal8Bit("自定义1"), this));
m_pMenu->addAction(new QAction(QString::fromLocal8Bit("自定义2"), this));
m_pMenu->addAction(new QAction(QString::fromLocal8Bit("自定义3"), this));
}
QtGuiAppTest::~QtGuiAppTest()
{
}
//槽函数,在右键点击位置显示自定义菜单
void QtGuiAppTest::SlotTestContextMenu(const QPoint& pos)
{
m_pMenu->exec(this->mapToGlobal(pos));
}
2.24 void setCursor(const QCursor &)
(1)功能说明
属性cursor : QCursor,持有当前控件的光标形状
鼠标光标在当前控件上时将呈现此形状。预定义光标对象列表(list of predefined cursor objects)定义了一系列有用的光标形状。
预定义光标对象列表定义如下
| 常量名 | 常量值 | 描述 |
|---|---|---|
| Qt::ArrowCursor | 0 | 标准箭头标准箭头 |
| Qt::UpArrowCursor | 1 | 向上指向屏幕顶部的箭头 |
| Qt::CrossCursor | 2 | 十字准线光标,通常用于帮助用户准确选择屏幕上的点 |
| Qt::WaitCursor | 3 | 沙漏光标或监视光标,通常在阻止用户与应用程序交互的操作期间显示 |
| Qt::IBeamCursor | 4 | 插入符号或工字光标,表示控件可以接受和显示文本输入 |
| Qt::SizeVerCursor | 5 | 用于垂直调整顶层窗口大小的光标 |
| Qt::SizeHorCursor | 6 | 用于水平调整顶层窗口大小的光标 |
| Qt::SizeBDiagCursor | 7 | 用于在右上角和左下角对角线调整顶层窗口大小的光标 |
| Qt::SizeFDiagCursor | 8 | 用于在左上角和右下角对角调整顶层窗口大小的光标 |
| Qt::SizeAllCursor | 9 | 用于在任意方向上调整顶层窗口大小的光标 |
| Qt::BlankCursor | 10 | |
| Qt::SplitVCursor | 11 | 用于垂直分割的光标,可以水平着拖动把手以调整可用空间的大小 |
| Qt::SplitHCursor | 12 | 用于水平分割的光标,可以垂直着拖动把手以调整可用空间的大小 |
| Qt::PointingHandCursor | 13 | 指向手型光标,通常用于可点击元素 |
| Qt::ForbiddenCursor | 14 | 斜线圆光标,通常在拖放操作期间使用,以指示无法将拖动的内容拖放到特定小组件或某些区域内。 |
| Qt::OpenHandCursor | 15 | 表示张开的手的光标,通常用于指示光标下方的区域是画布的可见部分,用户可以单击并拖动该部分以滚动 |
| Qt::ClosedHandCursor | 16 | 表示闭合手的光标,通常用于指示正在进行涉及滚动的拖动操作。 |
| Qt::WhatsThisCursor | 17 | 带有问号的箭头,通常用于指示控件中存在“what’s this"帮助。 |
| Qt::BusyCursor | 18 | 沙漏光标或监视光标,通常在操作期间显示,允许用户在后台执行时与应用程序进行交互 |
| Qt::DragMoveCursor | 19 | 拖动项目时通常使用的光标 |
| Qt::DragCopyCursor | 20 | 拖动项目进行复制时通常使用的光标 |
| Qt::DragLinkCursor | 21 | 拖动项目以创建指向该项目的链接时通常使用的光标 |
| Qt::BitmapCursor | 24 |
如果没有设置光标,或者设置完之后调用了unsetCursor(),将使用父节点的光标形状。
默认情况下,该属性包含一个标准箭头的光标形状
如果光标离开控件,即使鼠标被抓取,某些底层窗口实现也会重置光标。如果想将光标设置到所有控件,可以考虑使用QGuiApplication::setOverrideCursor()
(2)效果展示
(3)调用程序
QtGuiAppTest.ui
QtGuiAppTest.h
#pragma once
#include <QtWidgets/QWidget>
#include "ui_QtGuiAppTest.h"
class QtGuiAppTest : public QWidget
{
Q_OBJECT
public:
QtGuiAppTest(QWidget *parent = Q_NULLPTR);
~QtGuiAppTest();
public slots:
void SlotTestCursorShape(int nShape);
private:
Ui::QtGuiAppTestClass ui;
};
QtGuiAppTest.cpp
#include "QtGuiAppTest.h"
QtGuiAppTest::QtGuiAppTest(QWidget *parent)
: QWidget(parent)
{
ui.setupUi(this);
connect(ui.comboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this,
&QtGuiAppTest::SlotTestCursorShape);
}
QtGuiAppTest::~QtGuiAppTest()
{
}
void QtGuiAppTest::SlotTestCursorShape(int nShape)
{
QCursor pcrs;
pcrs.setShape((Qt::CursorShape)nShape);
this->setCursor(pcrs);
}
2.25 void unsetCursor()
取消对光标的设置。
2.26 QCursor cursor() const
获取光标信息。
更多推荐
标准箭头标准箭头
向上指向屏幕顶部的箭头
十字准线光标,通常用于帮助用户准确选择屏幕上的点
沙漏光标或监视光标,通常在阻止用户与应用程序交互的操作期间显示
插入符号或工字光标,表示控件可以接受和显示文本输入
用于垂直调整顶层窗口大小的光标
用于水平调整顶层窗口大小的光标
用于在右上角和左下角对角线调整顶层窗口大小的光标
用于在左上角和右下角对角调整顶层窗口大小的光标
用于在任意方向上调整顶层窗口大小的光标
用于垂直分割的光标,可以水平着拖动把手以调整可用空间的大小
用于水平分割的光标,可以垂直着拖动把手以调整可用空间的大小
指向手型光标,通常用于可点击元素
斜线圆光标,通常在拖放操作期间使用,以指示无法将拖动的内容拖放到特定小组件或某些区域内。
表示张开的手的光标,通常用于指示光标下方的区域是画布的可见部分,用户可以单击并拖动该部分以滚动
表示闭合手的光标,通常用于指示正在进行涉及滚动的拖动操作。
带有问号的箭头,通常用于指示控件中存在“what’s this"帮助。
沙漏光标或监视光标,通常在操作期间显示,允许用户在后台执行时与应用程序进行交互


所有评论(0)