Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.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
C++ 调整小部件';s在qtreewidget中的位置和宽度_C++_Qt - Fatal编程技术网

C++ 调整小部件';s在qtreewidget中的位置和宽度

C++ 调整小部件';s在qtreewidget中的位置和宽度,c++,qt,C++,Qt,我创建了一个Qtreewidget,它有一个Qtreewidgetitem是一个小部件(组合框、编辑框等等) 例如,这是我的代码的一部分。cpp: m_pPropertyTree = new QTreeWidget(); m_pPropertyTree->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); m_pPropertyTree->setColumnCount(2); m_pPropertyTree-&

我创建了一个Qtreewidget,它有一个Qtreewidgetitem是一个小部件(组合框、编辑框等等)

例如,这是我的代码的一部分。cpp

m_pPropertyTree = new QTreeWidget();
m_pPropertyTree->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
m_pPropertyTree->setColumnCount(2);
m_pPropertyTree->setColumnWidth(0, 155);
m_pPropertyTree->setStyleSheet("QTreeView::item { height: 20px;}");
m_pPropertyTree->setHeaderLabels(QStringList() << "Property" << "Value");
...
QTreeWidgetItem *pButtonItem = new QTreeWidgetItem(m_pPropertyTree);
pButtonItem->setText(0, "Button");
//caption
QTreeWidgetItem *pCaptionItem = new QTreeWidgetItem();
pCaptionItem->setText(0, "caption");
pCaptionItem->setText(1, "Button");
pButtonItem->addChild(pCaptionItem);
//style
QTreeWidgetItem *pStyleItem = new QTreeWidgetItem();
pStyleItem->setText(0, "style");
QComboBox *pCombobox = new QComboBox();
pCombobox->setFixedHeight(20);
pCombobox->addItem("normal");
pCombobox->addItem("bold");
pButtonItem->addChild(pStyleItem);
m_pPropertyTree->setItemWidget(pStyleItem, 1, pCombobox);
m_pPropertyTree=new QTreeWidget();
m_pPropertyTree->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
属性树->设置列数(2);
属性树->设置列宽度(0,155);
属性树->设置样式表(“QTreeView::item{height:20px;}”);
属性树->设置标题标签(QStringList()设置文本(0,“标题”);
pcaptonite->setText(1,“按钮”);
PBUTTONIM->addChild(PCAPTOINIM);
//风格
QTreeWidgetItem*pStyleItem=新的QTreeWidgetItem();
pStyleItem->setText(0,“样式”);
QCOMBOX*PCOMBOX=新的QCOMBOX();
PCOMBOX->设置固定高度(20);
pCombobox->addItem(“正常”);
pCombobox->addItem(“粗体”);
pButtonItem->addChild(pStyleItem);
m_pPropertyTree->setItemWidget(pStyleItem,1,pCombobox);
这就是我得到的:


组合框有原始大小,即红色矩形。我想将它的大小或位置调整为新的大小或位置,即黑色矩形大小。我该怎么做?谢谢。

你想实现什么还不清楚。你想通过编程还是通过ui来实现?空间有多大e你想离开吗?请说得更清楚些。另外,破解默认外观的结果通常是丑陋的东西。我会在
QTreewidget
中插入一个空的
QWidget
,给它一个水平布局
QHBoxLayout
添加一个空的
Qlabel
和你需要的
ombobox
。此时你可以预先用layout
setColumnStretch
精确地设置两者的比率。我明白你的意思。这真的很有帮助。此外,是否有任何combobox函数或QTreeWidget函数可以帮助我存档此文件。如果没有,我将使用你的解决方案。再次感谢。