Qt Cursor
来源:互联网 发布:xampp配置mysql端口 编辑:程序博客网 时间:2024/06/05 20:55
Qt应用程序Cursor样式
在X11上,Qt支持Xcursor库,可以随意更改全彩色的Cursor主题。但是在嵌入式Qt开发中,没有Xcursor的支持,效果就没这么乐观。
总结一下,我们可以通过以下三类方式修改Qt应用程序的Cursor样式:
效果图:
总结一下,我们可以通过以下三类方式修改Qt应用程序的Cursor样式:
1. Qt::CursorShape
Qt提供以下CursorShape,如下图:代码:
- Widget::Widget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::Widget)
- {
- ui->setupUi(this);
- setCursor(QCursor(Qt::OpenHandCursor));
- }
效果图:
对于桌面应用程序开发,系统主题可替代Qt::CursorShape的Cursor样式,比如,当我使用Qt::WaitCursor,程序运行在UBuntu时的样式为:
对于常用嵌入式开发组合Qt-embedded+linux+arm来说,正如Qt::CursorShape原样。
2.QPixmap or QBitmap
代码:- Widget::Widget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::Widget)
- {
- ui->setupUi(this);
- QCursor cursor ;
- QPixmap pixmap("cursor.png") ;
- cursor = QCursor(pixmap,-1,-1);
- setCursor(cursor) ;
- }
对于桌面应用程序开发,可实现全彩色的自定义Cursor,如图:
对于常用嵌入式开发组合Qt-embedded+linux+arm来说,如果使用QWS来启动应用程序,则好好的会变成了。只认识黑白2值,没办法……色盲……
3. x pixmap (xpm)
代码:
- static const char *const cursor_xpm[] = {
- "15 15 3 1",
- " c None",
- ". c #0000aa", //.的颜色
- "* c #aa0000", //*的颜色
- " ..... ",
- " ..*****.. ",
- " . *** . ",
- " . *** . ",
- " . *** . ",
- ". *** .",
- ". ***** .",
- ".*************.",
- ". ***** .",
- ". *** .",
- " . *** . ",
- " . *** . ",
- " . *** . ",
- " ..*****.. ",
- " ..... "
- };
- Widget::Widget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::Widget)
- {
- ui->setupUi(this);
- QCursor myCursor(cursor_xpm);
- setCursor(myCursor);
- }
从cursor_xpm[]形状可以清晰的看到样式效果,如图:
其实xpm的方式和pixmap原理相同,Linux下我们可以轻松通过命令转换图片格式,如png转xpm:
convert 1.png xpm:2.xpm
Windows下也有不少转换软件和工具,可以完成一键转换。
也许你会有这样一个疑问,为何不直接用QPixmap貼原图片,何必转成xpm?我想说,多知道一些途径不是坏事,对你不实用可以不用,当然,xpm绝对有它的用武之地,和它不可磨灭的意义……
1. 应用在QVTKWidget中示例:qvtkwidget->setCursor(Qt::CursorShape); 或直接在QtDesigner上选择cursor类型;
2. m_pImageViewer2->GetRenderWindow()->SetCurrentCursor(VTK_CURSOR_cross-hair);
3. 使用vtkImagePlaneWidget类中的SetCursorProperty(vtkProperty*); 这个我自己没有测试过
0 0
- Qt Cursor
- Qt应用程序Cursor样式
- Qt应用程序Cursor样式
- Qt应用程序Cursor样式
- qt隐藏鼠标指针,hide cursor
- cursor
- cursor
- cursor
- Cursor
- CURSOR
- Cursor
- CURSOR
- Cursor
- cursor
- cursor
- cursor
- cursor
- cursor
- poi打印合并,上代码
- android手机状态解释,比如android.os.Build.VERSION.SDK
- html+css+js系列之三 css的入门
- VC6++下的那些颜色
- EJB详解
- Qt Cursor
- 字符串大小比较的规则?
- 对.NET系统架构改造的一点经验和教训
- 第十二周项目二 汉诺塔递归函数
- 递进--求两个数的公约数
- 地柜函数实现二进制数
- 第11周 项目二 (1) 求两个数最大公约数
- 第十二周 项目二 (1)求多组数的最大公约数
- XHR2:让使用纯JS实现上传进度条变成了可能