0

我的 ui 屏幕中有 4 个表视图。在我的 4 个视图的标题数据函数中,我只需要一个 1 行名称 - 视图 1 和 3 的温度和四行名称分别为字段 1x、字段 4x、字段 10x、字段 40x . 我的功能是

virtual QVariant headerData(int section,Qt::Orientation orientation,
                int role = Qt::DisplayRole) const
    {
        switch(role)
        {
        case Qt::DisplayRole:
            switch (orientation)
            {
            case Qt::Vertical:
 switch (m_channel)
                    {
                    case 0:
                        switch (section)    // Range
                        {
                        case 0:
                            return "Temperature1";
                        }
                    case 1:
                        switch (section)    // Range
                        {
                        case 0:
                            return "Field 1x range";
                        case 1:
                            return "Field 4x range";
                        case 2:
                            return "Field 10x range";
                        case 3:
                            return "Field 40x range";
                        }
                    case 2:
                        switch (section)    // Range
                        {
                        case 0:
                            return "Temperature2";
                        }
                    case 3:
                        switch (section)    // Range
                        {
                        case 0:
                            return "Field 1x range";
                        case 1:
                            return "Field 4x range";
                        case 2:
                            return "Field 10x range";
                        case 3:
                            return "Field 40x range";
                        }

但是,编译时的屏幕显示温度,字段 4x,字段 10x,字段 40x 用于视图 1 和视图 3,我不会

请帮忙

4

1 回答 1

0

您的switch陈述中缺少休息时间。例如:

                    switch (m_channel)
                    {
                    case 0:
                        switch (section)    // Range
                        {
                        case 0:
                            return "Temperature1";
                        }
                        break; // <-- You need this.
                    case 1:
                        ...

为语句提供default标签通常也是一个好主意。switch

于 2013-07-26T17:50:00.310 回答