我的答案有一半在这里找到:How to prevent QSpinBox from automatically highlighting contents
但是,该程序仍允许鼠标或触摸拖动以突出显示旋转框的值。因为我的应用程序是用于嵌入式设备接口,所以我绝对不需要突出显示。
如何在保持旋转框向上/向下按钮功能的同时完全禁用任何类型的突出显示。
答案 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上。