【问题标题】:Python 3: PyQt: Make checkbox disabled + not grayed out + display tooltipPython 3:PyQt:禁用复选框+不灰显+显示工具提示
【发布时间】:2016-08-09 20:27:15
【问题描述】:

我发现这样做的唯一方法是here: How to make QCheckBox readonly, but not grayed-out。但是,这会禁用鼠标与控件的交互。但是当鼠标悬停在控件上时,我需要显示工具提示。我怎样才能做到这一点?

【问题讨论】:

  • 从用户体验角度来看,这似乎是一件可怕的事情,因为它完全破坏了正常行为。用例是什么?
  • 如果不需要复选框不灰显,可以禁用;工具提示仍然显示禁用复选框。我不知道如何在不使其变灰的情况下将其禁用
  • 我在其他地方控制了一个选项,我不想看起来是灰色的。就这样。 @PeterWang
  • 我在其他地方控制了一个选项,我不想看起来是灰色的。就这样。 @ekhumoro

标签: python checkbox pyqt pyqt4 disabled-control


【解决方案1】:

如果我理解正确,这就是您要的,显示工具提示的禁用复选框:

 import sys
 from PyQt4 import QtGui, QtCore


 class Example(QtGui.QWidget):

      def __init__(self):
           super(Example, self).__init__()
           self.initUI()

      def initUI(self):
           self.cb = QtGui.QCheckBox('Disabled CheckBox showing tooltips', self)
           self.cb.move(20, 20)
           self.cb.toggle()
           # self.cb.setEnabled(False)
           # self.cb.setStyleSheet("color: black")
           # self.cb.setAttribute(QtCore.Qt.WA_AlwaysShowToolTips)
           self.cb.setToolTip ('my checkBox')
           self.cb.toggled.connect(self.prevent_toggle)

           self.setGeometry(300, 300, 250, 50)
           self.setWindowTitle('QtGui.QCheckBox')
           self.show()

      def prevent_toggle(self):
           self.cb.setChecked(QtCore.Qt.Checked)

 def main():
      app = QtGui.QApplication(sys.argv)
      ex = Example()
      sys.exit(app.exec_())


 if __name__ == '__main__':
      main()

【讨论】:

  • 您错过了“未变灰”的部分...我希望它在不变灰的情况下被禁用。
  • @TheQuantumPhysicist 好吧,我确实错过了那部分。我已经编辑了我的答案,这样你就可以让它“没有变灰”
  • 我会尝试并告诉你。谢谢!
  • @TheQuantumPhysicist 你是说复选框的灰色吗?
  • 是的。灰色是因为复选框被禁用。
【解决方案2】:
#If your are not expecting this answer, sorry.

self.checkBox = QtGui.QCheckBox()
self.checkBox.setEnabled (False)
self.checkBox.setToolTip ('my checkBox')

【讨论】:

  • 对不起。这不是我想要的。我肯定知道禁用,这就是为什么我要求“未变灰”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多