python显示文字框_如何实现Python的文本框与按钮

我来了。先亮出代码今天的文本框代码吧!

import sys

from PyQt5.QtWidgets import QWidget, QLabel,QLineEdit,QApplication

class Example(QWidget):

def __init__(self):

super().__init__()

self.settings()

def settings(self):

a = QLabel(self)

a.setText('用户名:')

a.move(40,102)

b = QLineEdit(self)

b.setPlaceholderText('请输入用户名')

b.move(100,100)

c = QLabel(self)

c.setText('密码:')

c.move(40, 152)

d = QLineEdit(self)

d.setPlaceholderText('请输入密码')

d.move(100, 150)

self.setGeometry(300, 300, 500, 300)

self.setWindowTitle('文本框')

self.show()

if __name__ == '__main__':

app = QApplication(sys.argv)

ex = Example()

sys.exit(app.exec_())

这个变量名其实是不对的。在正式编程做项目的时候,大家不要取什么abc,一定要取与变量作用相同的变量名。比如一个变量的作用是等待的秒数,那变量名就是wait_sec,简单点,也可以是wait,但是不能是a。这样变量一多,你就不知道这个变量是干嘛的了。当然也可以在设定变量的时候加注释。我们这只是教程,变量少,所以这样更加简便。

现在我们来讲这个文本框。

a与c都是标签。b与d是文本框。文本框其实就是让你输入,类似于input,提示的语句就是setPlaceholderText。你所看到的淡色字,就是这样设定的。

当然,用户输入后你可以获取到用户输入的东西:

import sys

from PyQt5.QtWidgets import QWidget,QLabel,QLineEdit,QApplication

class Example(QWidget):

def __init__(self):

super().__init__()

self.settings()

def settings(self):

a = QLabel(self)

a.setText('用户名:')

a.move(40,102)

b = QLineEdit(self)

b.setPlaceholderText('请输入用户名')

print(b.text())

b.move(100,100)

c = QLabel(self)

c.setText('密码:')

c.move(40, 152)

d = QLineEdit(self)

d.setPlaceholderText('请输入密码')

d.move(100, 150)

self.setGeometry(300, 300, 500, 300)

self.setWindowTitle('文本框')

self.show()

if __name__ == '__main__':

app = QApplication(sys.argv)

ex = Example()

sys.exit(app.exec_())

当然,你是不会看到效果的。为什么???因为你一开始文本框里是没有输入内容的。所以只输出了空白。大家仔细看结果,是不是发现比平时运行完毕多空了一行,那就是输出的内容。

那么怎么能知道我们输入了什么呢?朋友们可以仔细想想,平时我们注册或登录的时候,除了输入,还有什么?

按钮!!!

所以由此我们再来学习一下按钮,也是代码先上(与前面的无关):

import sys

from PyQt5.QtWidgets import QWidget,QLabel,QPushButton,QCheckBox,QApplication

from PyQt5.QtGui import QFont

class Example(QWidget):

def __init__(self):

super().__init__()

self.settings()

def settings(self):

b1 = QPushButton("确定", self)

b1.move(30, 50)

b2 = QPushButton("取消", self)

b2.move(150, 50)

b1.clicked.connect(self.Clickedbutton)

b2.clicked.connect(self.Clickedbutton)

self.setGeometry(300, 300, 390, 350)

self.setWindowTitle('按钮')

self.show()

def Clickedbutton(self):

print(self.sender())

print(self.sender().text() + '被用户按下')

按钮由QPushButton创建。大家注意,按钮的名字在第一个参数位,第二个一般都是self,如果你不懂。希望你可以试试改成别的变量,然后就懂了,这里给大家留个小小的动手项目。然后在窗口设定前的b1.clicked.connect(self.Clickedbutton)与b2.clicked.connect(self.Clickedbutton)是什么呢?

那个是绑定信号。按钮其实有更多的,不过我只讲这个。因为其它的有点复杂。我讲的话又要牵涉好多复杂的知识。所以,我打算只讲这个。

继续讲。两个按钮绑定了信号,然后就运行Clickedbutton里的内容。说简单了,就是按下按钮后,运行Clickedbutton这个函数里的内容。

Clickedbutton里的第一个输出是输出这个button。这个我们上次也讲过,就是会输出这种:

,其实就是输出这个button的信息。如果你要打印出这个按钮的名字,就是self.sender().text()。

现在我们两个串起来用,解决我们刚刚的问题:

import sys

from PyQt5.QtWidgets import QWidget, QLabel,QLineEdit,QApplication,QPushButton

class Example(QWidget):

def __init__(self):

super().__init__()

self.settings()

def settings(self):

self.setGeometry(300, 300, 500, 300)

self.setWindowTitle('文本框')

self.a = QLabel(self)

self.a.setText('用户名:')

self.a.move(40,102)

self.b = QLineEdit(self)

self.b.setPlaceholderText('请输入用户名') #设置文本框浮现文字

self.b.move(100,100)

self.c = QLabel(self)

self.c.setText('密码:')

self.c.move(40, 152)

self.d = QLineEdit(self)

self.d.setPlaceholderText('请输入密码')

self.d.move(100, 150)

self.yes = QPushButton('确定',self)

self.yes.move(250,250)

self.yes.clicked.connect(self.Clickedbutton)

self.show()

def Clickedbutton(self):

print('用户名为:' + self.b.text())

print('密码为:' + self.d.text())

当然,如果你想把这个输出放到界面上,就用标签setText就行了。大家可以去尝试尝试。在这里我给大家一点建议与提示。就是设置abcd与yes变量的时候,最好加个self.,这样可以在整个类中用。如果你没加,那就有点麻烦。所以大家设置这种变量的时候,尽量加一个self.。如果你以后想在类的其它地方用,那么就可以随便调用了。

山东掌趣网络科技

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值