QT 笔记2

本文介绍了如何在QT中为按钮添加图片,实现窗体的淡入淡出效果,以及获取鼠标当前位置等实用技巧。

一 按钮加上图片

二  让QT窗体淡入淡出的方法

三 获取鼠标当前位置

--------------------------------------------------------------------------

一 按钮加上图片
 QPushButton* pButton = new QPushButton(tr("查找"));
 pButton->setIcon(QIcon("images/search.png"));
 //pButton->setIconSize(QSize(48, 48));

如果没有下面那句话,该图片是被缩放的放到图片上

如果加上下面那句话这该图片的背景图被设置为当前尺寸

 

如果不是按钮可以用调色板来实现

      QPalette p = palette();
      p.setBrush(QPalette::Button, QBrush(QPixmap("toolbutton.png")));
      setPalette(p);

 

二  让QT窗体淡入淡出的方法

setWindowOpacity函数可以设置窗体的透明度

再加个定时器

 

三 获取鼠标当前位置

QCursor::pos());

Qt是一个跨平台的C++图形用户界面应用程序框架,用C++语言编写,是一套类库,可用于桌面计算机、服务器、移动设备、单片机开发等,框架包含大量类,支持GUI、数据库、网络、多媒体等各种应用编程[^1][^3]。 ### Qt的优点与应用 - **优点**:跨平台接口简单,容易上手,学习Qt框架对学习其他框架有参考意义,一定程度上简化了内存回收机制,还可以进行嵌入式开发[^3]。 - **应用**:可用于Linux桌面环境、谷歌地图等[^3]。 ### Qt的安装与环境 - **安装**:安装好后会在安装目录下创建`/usr/include/qt4`目录,使用的头文件都在该目录下。共享库安装在`/usr/lib/i386-linux-gnu/qt4`和`/usr/lib/qt4`目录下,静态库需要重新下载源手动编译[^2]。 - **工具**: - **Qt助手**:是Qt参考文档,涉及Qt中的每一个类和函数,是Qt开发的必备手册,在终端可通过`assistant`命令启动[^2]。 - **Qt构建器**:负责对源文件、头文件、界面文件进行解析生成编译脚本。`qmake -project`可对当前目录里的文件生成项目配置文件`xxx.pro`,`qmake`根据`xxx.pro`文件生成`Makefile`脚本[^2]。 - **Qt设计师**:对于带界面应用程序,可采用画图方式自动生成对应的代码,所见即所得,避免了通过C/C++代码编写整个项目的费时费力[^2]。 - **Qt界面编译器**:负责把Qt设计师设计出的界面文件编译成C++代码,如`uic xxx.ui -o xxx.h`可把界面文件编译成C++类[^2]。 - **Qt创造器**:由Qt助手、Qt构建器、Qt设计师、Qt界面编译器和文本编辑器组成,是集成开发环境[^2]。 ### 项目资源 - **资源类型**:项目的资源一般指项目中使用到的图片、音频、视频等[^4]。 - **图片使用方式**: - **使用`QPainter`和`QImage`类**:读取资源文件,然后绘制在窗口或控件上。由于`QPainter`只能工作在`paintEvent`函数中,因此必须覆盖此函数,`QImage`控制图片文件的路径,创建`QPainter`对象时需提供窗口的地址,调用`drawImage`成员函数绘制图片,`paintEvent`会被`update`自动调用。不过,不建议使用此方法显示图片,更多用于绘制图形[^4]。 - **创建Qt资源文件**:选中项目右击,选择添加新文件,再选择Qt -> Qt资源文件,填写资源文件名。双击打开创建好的资源文件,添加前缀和文件,选择要添加的文件。可以在设计师中使用资源文件,选择控件右击,改变样式表,添加资源;也可以在代码中调用`setStyleSheet`函数为控件设置样式[^4]。 - **控件样式表设置技巧**: - **覆盖窗口样式**:在为窗口设置样式表后,窗口中的控件会继承该样式,可通过为控件也设置样式表来覆盖窗口的样式表,如: ```css QWidget { background-color: rgb(255, 255, 255); } QPushButton { background-color: rgb(255, 245, 66); border: 1px solid rgb(124, 124, 124); border-radius: 5px; } ``` - **设置悬停样式**:如`QPushButton:hover { }`可设置按钮悬停时的样式[^4]。 - **设置按下效果**:如`QPushButton:pressed { }`可设置按钮按下时的效果[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值