python - 单击 PyQt5 中的 PushButton 时如何读取 QLineEdit 和 QCheckBox 值?
问题描述
我试图使用下面的代码,但在执行时它说“Python 已停止工作”并重新启动 shell。基本上我试图在单击按钮时从 QLineEdit (用户输入)值中读取文本,但它失败了。
class Display(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
search_dir_label = QLabel('Directory to Search')
search_dir_te = QLineEdit()
search_dir_layout = QHBoxLayout(self)
search_dir_layout.addWidget(search_dir_label)
search_dir_layout.addWidget(search_dir_te)
vert_layout1.addLayout(search_dir_layout)
search_button = QPushButton('Search')
search_button.clicked.connect(self.sendval)
cancel_button = QPushButton('Cancel')
search_cancel_layout = QHBoxLayout(self)
search_cancel_layout.addWidget(search_button)
search_cancel_layout.addWidget(cancel_button)
search_cancel_layout.setAlignment(Qt.AlignCenter)
vert_layout1.addLayout(search_cancel_layout)
def sendval(self):
print(self.search_dir_te.text)
解决方案
您只需更改search_dir_te
为self.search_dir_te
ininitUI()
即可在其他功能中访问它。text()
另外,添加括号以调用方法sendval()
def initUI(self):
search_dir_label = QLabel('Directory to Search')
self.search_dir_te = QLineEdit()
search_dir_layout = QHBoxLayout(self)
search_dir_layout.addWidget(search_dir_label)
search_dir_layout.addWidget(self.search_dir_te)
vert_layout1.addLayout(search_dir_layout)
search_button = QPushButton('Search')
search_button.clicked.connect(self.sendval)
cancel_button = QPushButton('Cancel')
search_cancel_layout = QHBoxLayout(self)
search_cancel_layout.addWidget(search_button)
search_cancel_layout.addWidget(cancel_button)
search_cancel_layout.setAlignment(Qt.AlignCenter)
vert_layout1.addLayout(search_cancel_layout)
def sendval(self):
print(self.search_dir_te.text())
推荐阅读
- python - 在 Stock Screener 中传递发布数据时出错
- apache-spark - 数组到pyspark中的多列
- visual-studio - Xamarin XAML 设计器不会更新任何转换数据
- visual-studio - 如何在 Visual Studio Code 2019 中获取位置参数名称
- c - c语言输入法
- python - 将长列表保存到熊猫中的csv中
- python - 如何计算Python中两个数据框列表中所有相应元素的均值和标准差?
- pytorch - 在 Pytorch 中使用逻辑回归的预测返回无穷大
- python - 如何在python中解码双反冲字符串?
- c - $ 是 C 中的运算符,如果是,那为什么?