|
发表于 2024-3-19 11:04:45
|
显示全部楼层
非常抱歉给您带来困惑。我之前的回答中没有准确指出您提到的错误所在。以下是修正后的代码示例:from PySide6.QtWidgets import QApplication, QMainWindow, QPlainTextEdit, QPushButton, QInputDialogfrom PySide6.QtCore import Qt, QEventclass MyWindow(QMainWindow): def __init__(self): super().__init__() self.exclude_rows = [] # 创建一个文本框和一个按钮 self.text_edit = QPlainTextEdit(self) self.text_edit.setPlainText("请在《汇总表》的工作表中输入行号(从1开始计数,以逗号隔开,例如:1,2,3):") self.text_edit.setReadOnly(True) self.text_edit.setGeometry(10, 10, 280, 150) self.button = QPushButton("录入结束", self) self.button.setGeometry(10, 170, 100, 30) self.button.clicked.connect(self.show_input_dialog) def show_input_dialog(self): rows_input, ok = QInputDialog.getText(self, "输入行号", "请输入行号(以逗号隔开):") if ok: # 将用户输入的行号转换为整数列表 rows = [int(row.strip()) for row in rows_input.split(",")] # 检查输入的行号是否在有效范围内(小于等于总行数) total_rows = Exclud_Book.sheet_by_index(0).nrows # 假设需要获取第一个工作表的总行数 valid_rows = [row for row in rows if 1 <= row <= total_rows] self.exclude_rows = valid_rows print('用户录入的内容是:', self.exclude_rows)app = QApplication([])window = MyWindow()window.show()app.exec()在这个修正后的代码中,我更正了以下两处错误:1. 将self.painTextEdit更正为self.text_edit2. 修正了self.exclude_rows的赋值方式,将其初始化为空列表[]之后,在show_input_dialog方法中进行赋值操作我还对show_input_dialog方法中的输入行号进行了处理,将字符串拆分为整数列表,并进行有效性验证。然后将有效的行号存储在self.exclude_rows中。请注意修改示例代码中的Exclud_Book.sheet_by_index(0)为你实际使用的获取工作表总行数的方法。希望这次能够更清楚地解释。如果还有任何疑问,请随时提问。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |
|