QT开发中文网

上述代码中指定rect大小

如果你想要在绘制背景图时指定 rect 的大小,而不仅仅是根据 visualItemRect(firstItem) 来获取第一个项的矩形区域,可以直接定义一个固定的 QRect 对象。在这种情况下,你可以修改代码如下:

void LeftTreeWidget::paintEvent(QPaintEvent *event) {
    QPainter painter(viewport());
    painter.setRenderHint(QPainter::Antialiasing);

    // 定义指定的矩形大小
    QRect rect(30, 78, 260, 40); // 替换为所需的尺寸和位置

    // 绘制背景图
    QString imagePath = ":/png/liebiaotoubeijing.png"; // 图片路径
    QPixmap pixmap(imagePath);
    
    // 确保按比例缩放,并保持图片宽高比
    painter.drawPixmap(rect, pixmap.scaled(rect.size(), Qt::KeepAspectRatio));

    // 绘制树形控件项
    QTreeWidget::paintEvent(event);
}

注意事项:

  1. 位置和尺寸:确保你设置的 rect 矩形的坐标(如 (30, 78))以及大小 (260, 40) 合适,以便正确覆盖所需区域。
  2. 坐标系统:请记住,坐标是相对于树控件视口(viewport)的,如果你的树控件有滚动条,可能需要考虑滚动状态下的位置变化。
  3. 图像拉伸:使用 scaled() 方法会按照设定保持宽高比缩放背景图。如果需要其他样式(例如填充、平铺等),可调整缩放方式。

这样设置后,你将能够使用自定义大小和位置绘制背景图。若还有其他需求或问题,请随时告知!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=13230

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?