如何在我给你的代码基础上使用self.parent().hide()
时间: 2024-02-28 12:54:57 浏览: 141
您可以在`return_button`的`clicked`信号连接中添加`self.parent().hide()`代码,以在单击“返回”按钮时隐藏父窗口。请注意,这将隐藏父窗口,但不会关闭它。如果您想要关闭父窗口,请将代码更改为`self.parent().close()`。
以下是代码示例:
```python
def query(self, sql):
# 执行 SQL 查询语句
self.cursor.execute(sql)
# 创建一个新窗口,并设置其属性
new_window = QWidget(self)
new_window.setWindowTitle("查询员工信息")
new_window.setGeometry(200, 200, 400, 300)
# 创建返回按钮并设置其属性
return_button = QPushButton("返回", new_window)
return_button.clicked.connect(lambda: self.parent().hide()) # 在此处添加 self.parent().hide() 代码
# 获取查询结果并显示在表格中
rows = self.cursor.fetchall()
self.table = QTableWidget()
if rows:
self.table.setRowCount(len(rows))
self.table.setColumnCount(len(rows[0]))
for i, row in enumerate(rows):
for j, col in enumerate(row):
item = QTableWidgetItem(str(col))
self.table.setItem(i, j, item)
self.table.setHorizontalHeaderLabels(["部门", "姓名", "性别", '职位', '工号', '状态'])
self.table.horizontalHeader().setVisible(True)
self.input_box = QLineEdit(new_window)
# 修改状态标签的内容
self.status_label.setText("输入需要查询的数据,格式为:部门/姓名/性别/职位/工号/状态,对象")
self.v_layout = QVBoxLayout(new_window)
self.v_layout.addWidget(self.input_box)
# 单个查询按键
query_button = QPushButton("单个查询", new_window)
query_button.clicked.connect(lambda: self.query_data(new_window))
# 添加表格、按键到新窗口中
self.v_layout.addWidget(self.table)
self.v_layout.addWidget(query_button)
self.v_layout.addWidget(return_button)
new_window.setLayout(self.v_layout)
new_window.show()
```
在上述代码中,`lambda: self.parent().hide()`表示创建一个匿名函数,该函数在单击“返回”按钮时调用`self.parent().hide()`方法。
阅读全文