Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Chinese
  4. 设置QAbstractTableModel表头背景色的问题
QtWS25 Last Chance

设置QAbstractTableModel表头背景色的问题

Scheduled Pinned Locked Moved Chinese
8 Posts 2 Posters 6.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    csding
    wrote on last edited by
    #1

    @
    QVariant TableModel::headerData(int section, Qt::Orientation orientation, int role) const
    {
    if(role ==Qt::BackgroundRole)
    {
    //if(orientation == Qt::Vertical)
    if (orientation == Qt::Horizontal)
    switch (section)
    {
    case 0:
    return QBrush(QColor(Qt::blue));
    case 1:
    return QVariant(QColor(Qt::blue));
    default:
    return QAbstractTableModel::headerData(section,orientation,role);
    }
    @

    可以设置headerData的字体颜色,字体加粗。data的字体颜色,背景色,字体风格等。
    但是就是不能设置headerData的背景色。
    setStyleSheet设置背景色可以起作用,但是我要根据用户的操作动态的来设置其中的某几个个列或者几个行的表头背景色。
    这个问题在CSDN发帖了,但是解决不了所以又跑到这里来问了,希望大家help一下。
    3Q

    1 Reply Last reply
    0
    • C Offline
      C Offline
      csding
      wrote on last edited by
      #2

      一个回复的都没啊

      1 Reply Last reply
      0
      • J Offline
        J Offline
        jiangcaiyang
        wrote on last edited by
        #3

        帮你到general and desktop版块提问了。如果英文好的话,可以直接在上面的版块提问。
        "链接在这里":http://qt-project.org/forums/viewthread/28869/

        1 Reply Last reply
        0
        • C Offline
          C Offline
          csding
          wrote on last edited by
          #4

          谢谢你,我也在general and desktop里发帖了,还写了个测试用例。
          网址在这里
          http://qt-project.org/forums/viewthread/28901/
          [quote author="jiangcaiyang" date="1371225584"]帮你到general and desktop版块提问了。如果英文好的话,可以直接在上面的版块提问。
          "链接在这里":http://qt-project.org/forums/viewthread/28869/[/quote]

          1 Reply Last reply
          0
          • J Offline
            J Offline
            jiangcaiyang
            wrote on last edited by
            #5

            如果这些都不行的话,试一试去掉表头,使用第一行作为表头,并且修改其中的背景色。

            1 Reply Last reply
            0
            • C Offline
              C Offline
              csding
              wrote on last edited by
              #6

              嗯,不过那个功能现在不做了,问题是不知道这算不算Qt的bug,作为一个开发平台,如果这些问题不修复,让下游开发者来解决这些事情,本来就是扯蛋。
              还是感觉用主流的开发平台要好很多,比如MFC,尽管不跨平台。
              [quote author="jiangcaiyang" date="1371388450"]如果这些都不行的话,试一试去掉表头,使用第一行作为表头,并且修改其中的背景色。[/quote]

              1 Reply Last reply
              0
              • J Offline
                J Offline
                jiangcaiyang
                wrote on last edited by
                #7

                [quote author="csding" date="1371431494"]嗯,不过那个功能现在不做了,问题是不知道这算不算Qt的bug,作为一个开发平台,如果这些问题不修复,让下游开发者来解决这些事情,本来就是扯蛋。
                还是感觉用主流的开发平台要好很多,比如MFC,尽管不跨平台。
                [quote author="jiangcaiyang" date="1371388450"]如果这些都不行的话,试一试去掉表头,使用第一行作为表头,并且修改其中的背景色。[/quote]

                [/quote]
                一般的表格都有一个现象,表头在选中的时候,字体会变成粗体。这种情况也无法改变。但是我不同意你说这个是Qt的Bug,因为它并不引起任何影响用户体验的效果。如果偏要说是Bug的话,按照Bug分类也只能算是最后一类,也是影响最小的一类,算是建议。可以熟悉一下Jira,Qt的Bug协作平台,希望能多为qt-project做贡献。我知道在它上面可以提出很多建设性的意见,就像发帖一样,我想会有管理员受理你的提案的。

                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  csding
                  wrote on last edited by
                  #8

                  问题是他文档里写的很清楚,表头也有那些background role的,这就是说它支持更改背景,但是现在这种方式更改不了。而且我觉得这也是基本功能吧。写了个测试小用例,已经创建了一个bug提交了,"在这里":https://bugreports.qt-project.org/browse/QTBUG-31804

                  [quote author="jiangcaiyang" date="1371457069"]
                  [quote author="csding" date="1371431494"]嗯,不过那个功能现在不做了,问题是不知道这算不算Qt的bug,作为一个开发平台,如果这些问题不修复,让下游开发者来解决这些事情,本来就是扯蛋。
                  还是感觉用主流的开发平台要好很多,比如MFC,尽管不跨平台。
                  [quote author="jiangcaiyang" date="1371388450"]如果这些都不行的话,试一试去掉表头,使用第一行作为表头,并且修改其中的背景色。[/quote]

                  [/quote]
                  一般的表格都有一个现象,表头在选中的时候,字体会变成粗体。这种情况也无法改变。但是我不同意你说这个是Qt的Bug,因为它并不引起任何影响用户体验的效果。如果偏要说是Bug的话,按照Bug分类也只能算是最后一类,也是影响最小的一类,算是建议。可以熟悉一下Jira,Qt的Bug协作平台,希望能多为qt-project做贡献。我知道在它上面可以提出很多建设性的意见,就像发帖一样,我想会有管理员受理你的提案的。[/quote]

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved