Qt Designer - 如何让小部件跨越列?

esa*_*sac 18 qt4 grid-layout qt-creator

我创建了一个简单的表单.我在右下方添加了一个PushButton,然后是一个TabWidget.我突出显示了主窗口,并选择了网格布局.PushButton被拉伸了,所以我在它的左边增加了一个垫片.

现在,我的Tab Widget只占据最左边的列.我希望它也能跨越Column1.我查看了每个选项并尝试在任何地方右键单击,无法让设计人员创建跨度.

为了确保我没有遗漏任何东西,我直接修改了.ui文件,将tabspan ="2"添加到Tab Widget的标签,重新加载设计器,它显示完美.但是,我想尽可能地使用设计师.

任何想法如何让这跨越?

Kam*_*mek 29

嗯......这很简单"拖动操作".只需抓住最接近您想要的列的TabWidget边缘.现在只需在空列上"拉伸"TabWidget ......它现在应该在两列上"跨越"

  • Tab Widget必定存在错误.它适用于List Widget.虽然Tab Widget显示了手柄栏,但是当你拖动它时它什么都不做(它没有拉伸). (3认同)
  • 好的,我已经用Qt 4.6.2检查过了.我也无法伸展它...你可以填写一份错误报告给http://bugreports.qt.nokia.com/ (3认同)
  • **这实际上行不通,** 由于 Qt (Creator|Designer) 中的一个近十年前的问题。为什么这是公认的答案?当然,这*从未*像宣传的那样有效。有关有效的解决方案,请参阅 [Andreas](/sf/users/65406561/)'聪明的 [bizarro world hack](/sf/answers/514164871/)。 (2认同)
  • @KamilKlimek [**完成。**](https://bugreports.qt.io/browse/QTCREATORBUG-18392) 在这个问题首次公布七年后,一个苦涩的人终于向 [Qt Creator 提交了一个官方错误错误跟踪器](https://bugreports.qt.io/browse/QTCREATORBUG)。这太荒谬了,人们。将来,*请*向责任方提交不可忽略的错误报告,而不是在 StackOverflow 评论中嵌入可忽略的投诉。StackOverflow 之外还有一个世界。值得我们充分重视。 (2认同)

小智 10

如果您在拉伸TabWidget时遇到问题(至少有4.6.2-4.7.3中存在错误),您可以右键单击它,将其转换为QToolBox,拉伸它,再次右键单击它并将其转换回QTabWidget.

我用一个空的QTabWidget尝试了这个,如果你已经添加了一些子窗口小部件,我不知道会发生什么.


Moh*_*deh 8

我发现在某些情况下手动编辑*.ui文件很有用!根据此处提供的XML Schema http://harmattan-dev.nokia.com/docs/library/html/qt4/designer-ui-file-format.html 您可以通过编辑标记跨越多个列,并添加"colspan"和"rowspan"属性,例如:

<item row ="0"column ="0"colspan ="3"> ... </ item>