gpt4 book ai didi

python - 在字符串中按下 QpushButton 时如何在 QlineEdit 中获取文本?

转载 作者:IT老高 更新时间:2023-10-28 22:04:37 26 4
gpt4 key购买 nike

我正在尝试实现一个功能。我的代码如下。

当用户单击名称为“连接”的按钮时,我想在字符串中获取对象名称为“主机”的文本,例如“主机”。我怎样才能做到这一点?我尝试过,但失败了。如何实现这个功能?

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *


class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)

le = QLineEdit()
le.setObjectName("host")
le.setText("Host")
pb = QPushButton()
pb.setObjectName("connect")
pb.setText("Connect")
layout.addWidget(le)
layout.addWidget(pb)
self.setLayout(layout)

self.connect(pb, SIGNAL("clicked()"),self.button_click)

self.setWindowTitle("Learning")

def button_click(self):
#i want the text in lineedit with objectname
#'host' in a string say 'shost'. when the user click
# the pushbutton with name connect.How do i do it?
# I tried and failed. How to implement this function?




app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()

现在如何实现“button_click”功能?我刚刚开始使用 pyQt!

最佳答案

我的第一个建议是使用 Qt Designer 来创建您的 GUI。自己打字很糟糕,需要更多时间,而且你肯定会比 Qt Designer 犯更多的错误。

这里有一些 PyQt tutorials帮助您走上正轨。列表中的第一个是您应该开始的地方。

PyQt4 Class Reference 是确定特定类可用的方法的一个很好的指南。 .在这种情况下,您将查找 QLineEdit 并看到有一个 text 方法。

回答您的具体问题:

要使您的 GUI 元素可用于对象的其余部分,请在它们前面加上 self.

import sys
from PyQt4.QtCore import SIGNAL
from PyQt4.QtGui import QDialog, QApplication, QPushButton, QLineEdit, QFormLayout

class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent)

self.le = QLineEdit()
self.le.setObjectName("host")
self.le.setText("Host")

self.pb = QPushButton()
self.pb.setObjectName("connect")
self.pb.setText("Connect")

layout = QFormLayout()
layout.addWidget(self.le)
layout.addWidget(self.pb)

self.setLayout(layout)
self.connect(self.pb, SIGNAL("clicked()"),self.button_click)
self.setWindowTitle("Learning")

def button_click(self):
# shost is a QString object
shost = self.le.text()
print shost


app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()

关于python - 在字符串中按下 QpushButton 时如何在 QlineEdit 中获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com