2012-10-08 53 views
0

我正在寻找使QT格式为只读,但未禁用。我试图实现的是用户仍然可以使用它的控件,例如查看组合框中有什么元素,或滚动到列表框的末尾,但不应该能够更改这些组件的值。由于禁用窗体不允许任何交互,并且我没有在API中找到任何与使窗体成为只读相关的任何内容,所以我想知道该问题有什么可行的解决方案。只读QT格式

回答

0

我选择的方法有一个特别的方法,在我的表类:

  • 使得只读
  • 组合/检查/清单,其他控件禁用
  • 控制文本编辑这允许导航
1

要做到这一点的唯一方法是连接到有问题的QComboBox的currentIndexChanged信号,并防止它从你想要的改变。如果这是你想做的事情,你可以考虑继承QComboBox;但没有什么可以让你在默认框架中做到这一点。

+0

其实我打算这样做,整个窗口不仅包括组合框......但任何其他组件。也许我需要继承很多组件。感谢您的回复。 – fritzone

+0

组合框肯定是唯一一个对此有问题的组件,因为大多数其他组件(即LineEdit ..)的“禁用”状态对于只读视图就足够了。 – TZHX

+0

nop,例如,您无法更改TabWidget中的选项卡:( – fritzone