Qt:QHeaderView将排序指示器放置在标题文本的右侧
如果我设置:QHeaderView::down arrow{subcrol position:center left},则向下箭头位于列的左侧,如果我设置了center right,则向下箭头位于列的右侧,但我希望将箭头放置在右侧标题旁边 您需要设置子控件原点:边距|边框|填充|内容 查看下面的文档链接,了解解释边距矩形、边框矩形、填充矩形和内容矩形的方框模型 因此,请尝试在代码中添加subcrolorigin:padding,这可能会添加到内容旁边 请尝试以下操作:Qt:QHeaderView将排序指示器放置在标题文本的右侧,qt,qtreeview,qheaderview,Qt,Qtreeview,Qheaderview,如果我设置:QHeaderView::down arrow{subcrol position:center left},则向下箭头位于列的左侧,如果我设置了center right,则向下箭头位于列的右侧,但我希望将箭头放置在右侧标题旁边 您需要设置子控件原点:边距|边框|填充|内容 查看下面的文档链接,了解解释边距矩形、边框矩形、填充矩形和内容矩形的方框模型 因此,请尝试在代码中添加subcrolorigin:padding,这可能会添加到内容旁边 请尝试以下操作: QHeaderView::
QHeaderView::down-arrow { subcontrol-origin:padding; subcontrol-position: center right;}
您需要设置子控件原点:边距|边框|填充|内容
查看下面的文档链接,了解解释边距矩形、边框矩形、填充矩形和内容矩形的方框模型
因此,请尝试在代码中添加subcrolorigin:padding,这可能会添加到内容旁边
请尝试以下操作:
QHeaderView::down-arrow { subcontrol-origin:padding; subcontrol-position: center right;}
我的排序方式是为标题创建一个QProxyStyle,并覆盖drawControl。 我还指定了一个空图标来隐藏默认图标 初始化时的treeviewwidget.cpp:
treeviewHeaderProxy* m_oHeaderStyle = new treeviewHeaderProxy();
treeview->header()->setStyle(m_oHeaderStyle);
treeview->header()->setDefaultAlignment(Qt::AlignCenter);
treeview->header()->setStyleSheet("QHeaderView::down-arrow { image: url(:/shared/empty); }"
"QHeaderView::up-arrow { image: url(:/shared/empty); } ");
treeviewHeaderProxy.h:
treeviewHeaderProxy.cpp:
我的排序方式是为标题创建一个QProxyStyle,并覆盖drawControl。 我还指定了一个空图标来隐藏默认图标 初始化时的treeviewwidget.cpp:
treeviewHeaderProxy* m_oHeaderStyle = new treeviewHeaderProxy();
treeview->header()->setStyle(m_oHeaderStyle);
treeview->header()->setDefaultAlignment(Qt::AlignCenter);
treeview->header()->setStyleSheet("QHeaderView::down-arrow { image: url(:/shared/empty); }"
"QHeaderView::up-arrow { image: url(:/shared/empty); } ");
treeviewHeaderProxy.h:
treeviewHeaderProxy.cpp:
它不起作用,箭头放在右边。箭头的中心在右角,所以我只能看到箭头的一半。。。我尝试使用Subcrol origin并更改可能值,以查看是否有任何差异,但似乎没有任何效果。它不起作用,箭头位于右侧。箭头的中心在右角,所以我只能看到箭头的一半。。。我尝试使用subcrolorigin并更改possibles值,以查看是否有任何差异,但似乎没有任何效果。