拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 QTableView小部件的Qt样式表中有哪些可用选项?

QTableView小部件的Qt样式表中有哪些可用选项?

白鹭 - 2022-01-24 2122 0 0

我一直在寻找关于 Qt 小部件样式表的详细档案 - 特别是 QTableView 小部件。以下是我发现的一些有用(尽管不完整)的资源:

  1. QTableView 小部件的 Qt 样式表中有哪些可用选项? 我希望蓝色单元格与粉红色轮廓单元格的样式相匹配。

    QTableView 小部件有哪些选项?我尝试过 QTableView::rows、QTableView::selection 和许多其他方法,但都没有成功。

    uj5u.com热心网友回复:

    处理 QSS(Qt 样式表)时要考虑的一个重要方面是,在复杂小部件上设定任何属性时,必须设定所有其他基本属性。

    该档案清楚地说明了“常见”小部件(如 QComboBox 或 QScrollBar),但没有说明更多有问题的小部件的属性,如 QHeaderView(它是负责显示行或列的部分标题的小部件)。

    最重要的是,必须同时设定严格相关的属性,如widthor height并非所有小部件都支持) 。

    如果要为样式表中的标题部分设定特定高度,则还必须设定宽度。

    QHeaderView::section {
        background-color: rgb(71, 153, 176);
        color: white;
        height: 35px;
        width: 150px; 
        font: 14px;
    }
    

    不幸的是,使用 QSS 设定大小有两个缺点:

    • 大小是固定的,基于“像素”大小;
    • 文本省略被自动禁用(至少使用 QHeaderView 和普通样式);

    这给我们带来了一个重要的方面:样式表必须小心使用(并且意识到这一点的唯一方法是经验和研究源代码)。几乎总是不鼓励在样式表中设定显式大小,尤其是当这些大小处理文本显示时。如果要为标题设定默认尺寸,则应使用setDefaultSectionSize()


    最后,即使问题已由 OP 解决,我也会添加以下内容以清楚起见。
    项目视图的选择颜色可以通过两种不同的方式设定:

    1. 设定::item伪选择器颜色:

      QTableView::item:selected {
          background-color: rgb(242, 128, 133);
      }
      

      以上将设定项目的背景并完全覆写样式绘制行为(取决于样式),包括基于调色板的任何进一步的“花式”绘制。简而言之,它可能是背景色。

    2. 设定项目视图选择器和selection-background-color属性:

      QTableView {
          ...
          selection-background-color: rgb(242, 128, 133);
      }
      

      以上将设定表格Highlight调色板角色,然后将恢复为默认样式绘画,提供该样式使用的任何“花式”绘画。

标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *