self.pushbutton点击操作出来的选择项的输入对话框怎么不继承父类
时间: 2024-04-11 14:29:16 浏览: 82
毕业设计MATLAB_创建密码输入对话框,用于输入明显隐藏的密码.zip
如果你想在点击按钮后弹出的选择项输入对话框不继承父类,你可以将对话框实例化为一个独立的窗口。
以下是修改后的代码示例,其中弹出的选择项输入对话框不继承父类:
```python
import sys
from PyQt5.QtWidgets import *
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('PyQt5 弹出窗口')
self.resize(400, 300)
h1 = QHBoxLayout()
btn = QPushButton('弹出窗口')
btn.clicked.connect(self.do_btn)
h1.addWidget(btn)
self.setLayout(h1)
def do_btn(self, event):
items = ["种植", "养护"]
dialog = QInputDialog()
dialog.setOptions(QInputDialog.UseListViewForComboBoxItems) # 设置为列表样式
dialog.setComboBoxItems(items)
dialog.setWindowTitle("创建任务")
dialog.setLabelText("选择将要进行的任务\n\n请选择任务:")
if dialog.exec_():
selected_item = dialog.textValue()
print("Selected item:", selected_item)
if __name__ == "__main__":
app = QApplication(sys.argv)
win = MyWindow()
win.show()
sys.exit(app.exec_())
```
在上面的代码中,我们在按钮的点击事件处理函数`do_btn`中实例化了一个独立的QInputDialog,并设置了一些属性,如输入项的样式、选项列表、窗口标题和标签文本。然后,我们调用`exec_()`方法显示对话框,并等待用户输入。
当用户点击对话框的确认按钮时,我们通过调用`textValue()`方法获取用户选择的项,并进行处理。
这样,弹出的选择项输入对话框就不会继承父类的属性和方法。
希望这能满足你的需求!如有其他问题,请随时提问。
阅读全文