QT开发中文网

D:\qtcode\widget_qml1015\widget_qml\lefttreewidget.cpp:50: error: 'class LeftTreeWidget' has no member named 'setRowHeight' this->setRowHeight(i, rowHeight); ^

QTreeWidget 实际上并没有 setRowHeight() 这个方法,因此您无法直接通过该方法设置行高。QTreeWidget 的行高通常由字体和其他属性决定,而不是通过代码显式设置。

不过,您可以通过以下方法间接地影响项的高度:

  1. 使用样式表(Style Sheets):虽然这不能精确控制每一行的高度,但可以应用到整个 QTreeWidget

  2. 自定义绘制:如果需要非常具体的控制,可以考虑重写 paintEvent 方法。

使用样式表调整项高度

以下是使用样式表设置项高度的一个示例:

treeWidget->setStyleSheet("QTreeWidget::item { height: 40px; }");

自定义绘制 (更复杂)

如果要完全自定义树形控件的外观和行为,您可能需要继承 QTreeWidgetItemQTreeWidget 并重写相应的方法,例如 paint()sizeHint()

示例:应用样式表

这是一个简单的示例代码,演示如何使用样式表来影响 QTreeWidget 项目的外观:

#include <QApplication>
#include <QTreeWidget>
#include <QHeaderView>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    
    QTreeWidget treeWidget;
    treeWidget.setColumnCount(1);
    
    // 添加一些项目作为示例
    for (int i = 0; i < 10; ++i) {
        QTreeWidgetItem *item = new QTreeWidgetItem(&treeWidget);
        item->setText(0, QString("Item %1").arg(i));
    }
    
    // 设置列宽
    treeWidget.setColumnWidth(0, 200);
    
    // 设置项高度 (通过样式表)
    treeWidget.setStyleSheet("QTreeView::item { height: 40px; }");

    treeWidget.show();
    
    return a.exec();
}

请注意,这种方法虽然能对所有项产生一定影响,但可能在不同平台或Qt版本中有些许差异。 如果需要更高级别的定制化,建议深入研究 Qt 的绘图系统。


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

目录导航
  • 使用样式表调整项高度
  • 自定义绘制 (更复杂)
  • 示例:应用样式表
  • 本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
    转载请注明出处:https://qt.0voice.com/?id=13225

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

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

    联系我们

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

    微信号:3007537140

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

    关注我们
    x

    注册

    已经有帐号?