信息BOX问题求教~~
现有PySide6代码如下:print('请在《表1》的<', sheet_name,
'>录入列号(必须大写英文字母,以英文逗号隔开,例如:A,B,C):',
end='')
exclude_cols_input, ok = QInputDialog.getText(self, "输入列号", "请输入列号(以英文逗号隔开):")
1、请问能将sheet_name这个变量写到QInputDialog.getText的提示语中吗?
2、QInputDialog.getText的按钮可以换成中文吗? 1、可以将sheet_name变量写到QInputDialog.getText的提示语中。你可以使用字符串的格式化方法来实现,例如:
exclude_cols_input, ok = QInputDialog.getText(self, "输入列号", f"请输入{sheet_name}的列号(以英文逗号隔开):")
这样,提示语就会显示为"请输入表名的列号(以英文逗号隔开):",其中的{sheet_name}会被替换成实际的表名。
2、QInputDialog.getText的按钮可以换成中文。你可以使用该对话框的setCancelButtonText和setTextEchoMode方法来设置按钮的文本和输入的回显模式。例如:
dialog = QInputDialog(self)
dialog.setLabelText("请输入列号(以英文逗号隔开):")
dialog.setTextEchoMode(QLineEdit.Normal)# 设置为普通的回显模式,不隐藏输入内容
dialog.setOkButtonText("确定")
dialog.setCancelButtonText("取消")
exclude_cols_input, ok = dialog.getText()
这样,对话框中的按钮文本就会显示为中文,并且输入内容会实时显示在输入框中。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-3-19 13:32
1、可以将sheet_name变量写到QInputDialog.getText的提示语中。你可以使用字符串的格式化方法来实现,例如 ...
QInputDialog.setOkButtonText('确定')
TypeError: descriptor 'setOkButtonText' for 'PySide6.QtWidgets.QInputDialog' objects doesn't apply to a 'str' object 凊风 发表于 2024-03-19 13:50
QInputDialog.setOkButtonText('确定')
TypeError: d ...
非常抱歉,我的回答有误。PySide6的QInputDialog类没有直接设置确定按钮文本的方法。相反,它继承自QDialogButtonBox类,你可以通过以下方式更改确定按钮的文本:
dialog = QInputDialog(self)
dialog.setLabelText("请输入列号(以英文逗号隔开):")
dialog.setTextEchoMode(QLineEdit.Normal)# 设置为普通的回显模式,不隐藏输入内容
button_box = dialog.findChild(QDialogButtonBox)
ok_button = button_box.button(QDialogButtonBox.Ok)
ok_button.setText("确定")
exclude_cols_input, ok = dialog.getText()
这样,确定按钮的文本就会被设置为"确定"。对于取消按钮的文本,你可以使用`setCancelButtonText()`方法来设置。非常抱歉给你带来了困扰。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-3-19 13:50
非常抱歉,我的回答有误。PySide6的QInputDialog类没有直接设置确定按钮文本的方法。相反,它继承自QDi ...
button_box = QInputDialog.findChild(QDialogButtonBox)
^^^^^^^^^^^^^^^^
NameError: name 'QDialogButtonBox' is not defined 凊风 发表于 2024-03-19 14:49
button_box = QInputDialog.findChild(QDialogButtonB ...
非常抱歉,我在先前的回答中犯了一个错误。正确的做法是使用 QMessageBox 的标准按钮来替代 QInputDialog 的按钮。
下面是修改后的代码示例:
from PySide6.QtWidgets import QMessageBox, QInputDialog
dialog = QInputDialog(self)
dialog.setLabelText("请输入列号(以英文逗号隔开):")
dialog.setTextEchoMode(QLineEdit.Normal)# 设置为普通的回显模式,不隐藏输入内容
# 获取消息框的标准按钮组
button_box = dialog.standardButtons()
# 修改确定按钮的文本
ok_button = button_box.button(QMessageBox.Ok)
ok_button.setText("确定")
# 设置新的标准按钮组
dialog.setStandardButtons(button_box)
exclude_cols_input, ok = dialog.getText()
通过这种方式,你可以成功修改确定按钮的文本为"确定"。非常抱歉给你带来困扰,谢谢你的理解!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]