Qt 常用函数(持续更新)

本文详细介绍了Qt库中的QDesktopServices::openUrl()函数,通过示例代码展示了如何使用该函数打开本地文件路径,帮助开发者更好地理解和运用Qt进行桌面应用开发。
 
 
// 设置按钮背景透明
set_pass_btn->setStyleSheet("background-color:transparent");
// 获取 屏幕大小
#include "QDesktopWidget" 

QDesktopWidget* desktopWidget = QApplication::desktop();
QRect deskRect = desktopWidget->screenGeometry();
this ->resize(deskRect.width(),deskRect.height());
 
// 
### Qt 常用图形处理技术与方法 #### 1. 绘制基本图形 Qt 提供了强大的绘图功能,可以通过 `QPainter` 类实现各种图形绘制操作。开发者可以在自定义的 Widget 上重写 `paintEvent()` 函数来完成复杂的绘图需求[^2]。 ```cpp void MyWidget::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing); // 启用抗锯齿 // 绘制矩形 painter.drawRect(10, 10, 100, 50); // 绘制圆形 painter.drawEllipse(120, 10, 80, 80); // 使用渐变填充 QLinearGradient gradient(0, 0, width(), height()); gradient.setColorAt(0, Qt::white); gradient.setColorAt(1, Qt::black); painter.fillRect(rect(), gradient); } ``` #### 2. 图像加载与显示 Qt 支持多种图像格式(如 PNG、JPEG),并提供了 `QImage` 和 `QPixmap` 来处理静态图片。通过 `QLabel` 或其他控件可以直接展示图像。 ```cpp QLabel* label = new QLabel(); QPixmap pixmap("image.png"); label->setPixmap(pixmap.scaled(label->size(), Qt::KeepAspectRatio)); ``` #### 3. 动画效果 利用 `QPropertyAnimation` 可以为 UI 元素添加平滑动画过渡效果。例如,移动某个按钮的位置或调整透明度。 ```cpp QPushButton* button = new QPushButton("Move Me", this); button->resize(100, 30); QPropertyAnimation* animation = new QPropertyAnimation(button, "geometry"); animation->setDuration(1000); // 设置持续时间为1秒 animation->setStartValue(QRect(0, 0, 100, 30)); // 起始位置 animation->setEndValue(QRect(200, 200, 100, 30)); // 结束位置 animation->start(); ``` #### 4. 自定义控件样式 借助 Qt 的样式表 (Style Sheets),可以轻松改变控件外观,类似于 CSS 样式规则。 ```css QPushButton { background-color: blue; color: white; border-radius: 5px; } QPushButton:hover { background-color: darkblue; } ``` #### 5. 滑动条交互 对于需要动态调节数值的功能模块,可采用 `QSlider` 实现用户友好的输入方式。其方向支持水平 (`Qt::Horizontal`) 和垂直 (`Qt::Vertical`) 两种模式[^3]。 ```cpp QSlider* slider = new QSlider(Qt::Horizontal, this); slider->setRange(0, 100); slider->setValue(50); connect(slider, &QSlider::valueChanged, [](int value){ qDebug() << "Current Value:" << value; }); ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值