我正在尝试将字符串数据存储在QAbstractButton.text()中。
为什么?
我想在text()本身中显示短名称,但是能够通过代码通过text()“ comment”来调用长名称。
您可以在QT Designer中编写“注释”,但是我无法在Python中复制它。 查看记事本中的代码,似乎在文本字符串本身内创建了“注释”文本:
<property name="text">
<string extracomment="toast">Select object and click here</string>
我目前在python中拥有的是:
Xsl = cmds.ls(sl=1)[0]
Xbutton.setText(Xsl)
我还如何设置和获取本文的评论部分? 任何建议将不胜感激!
答案 0 :(得分:0)
如果您想向小部件添加额外的数据,为什么不只是对其进行子类化并创建自己的数据呢?
http://127.0.0.1:4567/col10?where=var0053==[1130,1113]
## returns just the objects with var0053 = 1113
现在,您可以像普通按钮一样继续使用class MyCustomButton(QtWidgets.QPushButton):
def __init__(self, parent=None):
super(MyCustomButton, self).__init__(parent)
self.my_variable = None
,还可以将所需的内容添加到MyCustomButton
中。
答案 1 :(得分:0)
我发现每个对象都包含windowTitle的变量。如果这不是主窗口,则窗口标题通常留为空白,因此我可以在此处存储数据。
当然,这可能不是最干净的方法,但现在可以使用。
Green Cell的子类化很可能是解决此问题的最佳方法。但是,我主要是使用Qt Designer构建UI,并且主要希望将所有编辑都保留在该包装中。
def store_selected_node_on_button(self):
"""
Changes the text of a given button to store an object's name
As the button isn't a window, I can set the window title to store the long name of the selected object.
:return: None
"""
button = self.sender()
sl = cmds.ls(sl=1, long=True)
if not sl:
button.setText("Select object and click here")
button.setWindowTitle("")
else:
button.setText(sl[0].split("|")[-1])
button.setWindowTitle(sl[0])
return