Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt:QHeaderView将排序指示器放置在标题文本的右侧_Qt_Qtreeview_Qheaderview - Fatal编程技术网

Qt:QHeaderView将排序指示器放置在标题文本的右侧

Qt:QHeaderView将排序指示器放置在标题文本的右侧,qt,qtreeview,qheaderview,Qt,Qtreeview,Qheaderview,如果我设置:QHeaderView::down arrow{subcrol position:center left},则向下箭头位于列的左侧,如果我设置了center right,则向下箭头位于列的右侧,但我希望将箭头放置在右侧标题旁边 您需要设置子控件原点:边距|边框|填充|内容 查看下面的文档链接,了解解释边距矩形、边框矩形、填充矩形和内容矩形的方框模型 因此,请尝试在代码中添加subcrolorigin:padding,这可能会添加到内容旁边 请尝试以下操作: QHeaderView::

如果我设置:QHeaderView::down arrow{subcrol position:center left},则向下箭头位于列的左侧,如果我设置了center right,则向下箭头位于列的右侧,但我希望将箭头放置在右侧标题旁边

您需要设置子控件原点:边距|边框|填充|内容

查看下面的文档链接,了解解释边距矩形、边框矩形、填充矩形和内容矩形的方框模型

因此,请尝试在代码中添加subcrolorigin:padding,这可能会添加到内容旁边

请尝试以下操作:

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值,以查看是否有任何差异,但似乎没有任何效果。