如何完全禁用qspinboxes的值突出显示?

时间:2014-03-12 15:45:07

标签: qt

我的答案有一半在这里找到:How to prevent QSpinBox from automatically highlighting contents

但是,该程序仍允许鼠标或触摸拖动以突出显示旋转框的值。因为我的应用程序是用于嵌入式设备接口,所以我绝对不需要突出显示。

如何在保持旋转框向上/向下按钮功能的同时完全禁用任何类型的突出显示。

2 个答案:

答案 0 :(得分:0)

我们最终做的是将几个信号连接到textEditDeselect插槽。

foreach(QSpinBox* sb, ui.main->findChildren<QSpinBox*>())
{
    sb->findChildren<QLineEdit*> ().at(0)->setReadOnly(true);
    connect(sb,SIGNAL(valueChanged(int)),this,SLOT(textEditDeselect()), Qt::QueuedConnection);
    connect(sb->findChild<QLineEdit*> (), SIGNAL(cursorPositionChanged(int,int)),this,  SLOT(textEditDeselect()),Qt::QueuedConnection);
}

答案 1 :(得分:0)

最简单的解决方案是更改Qt Designer中的调色板。

选择qspinbox,单击“更改调色板”,然后选择 HighlightedText 选择黑色。这将禁用蓝色背景,至少在Windows上。