鱼C论坛

 找回密码
 立即注册
查看: 1277|回复: 3

[已解决]如何获取输入框的值?

[复制链接]
发表于 2020-12-5 21:20:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 wnhuiyou 于 2020-12-5 22:10 编辑

通过调用类我可以创建多个按钮,这个我已经实现了,也能达到我想要的效果,就是每个按钮可以出发不同的函数,但是文本输入框,我一样的操作,也能创建多个,但是如何获取到不同文本框里面的值?因为现在我写的,文本输入框的值都是一样的。
import sys
from PyQt5.Qt import QWidget, QApplication
from PyQt5.QtWidgets import QPushButton, QLabel, QLineEdit


class YC(QWidget):

    def __init__(self):
        super().__init__()

        # 输入框
        self.ipaddr = self.LEdit('', 125, 200)  # 外网IP
        self.mask = self.LEdit('', 125, 240)  # 子网掩码
        self.gateway = self.LEdit('', 125, 280)  # 外网网关
        self.GAgateway = self.LEdit('192.168.1.1', 125, 320)  # 公安网关

        # 标题
        self.QLabel("外网IP:", "font:20px", 50, 205)
        self.QLabel("子网掩码:", "font:20px", 30, 245)
        self.QLabel("外网网关:", "font:20px", 30, 285)
        self.QLabel("公安网关:", "font:20px", 30, 325)

        # 按钮
        self.QPushButton("设置路由表", "font:15px", 90, 30, 55, 410)
        self.QPushButton("删除路由表", "font:15px", 90, 30, 170, 410)
        self.QPushButton("测试公安", "font:15px", 90, 30, 170, 450)
        self.QPushButton("测试外网", "font:15px", 90, 30, 55, 450)
        self.QPushButton("查看路由", "font:15px", 75, 30, 185, 370)
        self.QPushButton("外网IP", "font:15px", 60, 30, 55, 370)
        self.QPushButton("公安IP", "font:15px", 60, 30, 120, 370)

    # 标题
    def QLabel(self, Text, StyleSheet, move_x, move_y):
        label = QLabel(self)
        label.setText(Text)
        label.setStyleSheet(StyleSheet)
        label.move(move_x, move_y)

    # 按钮
    def QPushButton(self, Text, StyleSheet, resize_x, resize_y, move_x, move_y):
        btn = QPushButton(self)
        btn.setText(Text)
        btn.setStyleSheet(StyleSheet)
        btn.resize(resize_x, resize_y)
        btn.move(move_x, move_y)
        btn.clicked.connect(self.SetIP)

    # 输入框
    def LEdit(self, setText, move_x, move_y):
        Input = QLineEdit(self)
        Input.setText(setText)
        print(setText)
        Input.resize(155, 30)
        Input.move(move_x, move_y)
        Input.setStyleSheet("font:20px")
        return Input.text()

    def SetIP(self):
        command = '"netsh interface ipv4 set address "本地连接" static %s %s %s"' % (self.ipaddr, self.mask, self.GAgateway)
        # os.system(command)
        print(command)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = YC()
    win.setWindowTitle("小软件")
    win.setFixedSize(300, 500)  # 设定固定窗口大小

    win.show()
    sys.exit(app.exec_())

QQ浏览器截图20201205212009.png


何如获取每个不同输入款里面的值
最佳答案
2020-12-6 10:17:43
import sys
from PyQt5.Qt import QWidget, QApplication
from PyQt5.QtWidgets import QPushButton, QLabel, QLineEdit


class YC(QWidget):

    def __init__(self):
        super().__init__()

        # 输入框
        self.ipaddr = self.LEdit('', 125, 200)  # 外网IP
        self.mask = self.LEdit('', 125, 240)  # 子网掩码
        self.gateway = self.LEdit('', 125, 280)  # 外网网关
        self.GAgateway = self.LEdit('192.168.1.1', 125, 320)  # 公安网关

        # 标题
        self.QLabel("外网IP:", "font:20px", 50, 205)
        self.QLabel("子网掩码:", "font:20px", 30, 245)
        self.QLabel("外网网关:", "font:20px", 30, 285)
        self.QLabel("公安网关:", "font:20px", 30, 325)

        # 按钮
        self.QPushButton("设置路由表", "font:15px", 90, 30, 55, 410)
        self.QPushButton("删除路由表", "font:15px", 90, 30, 170, 410)
        self.QPushButton("测试公安", "font:15px", 90, 30, 170, 450)
        self.QPushButton("测试外网", "font:15px", 90, 30, 55, 450)
        self.QPushButton("查看路由", "font:15px", 75, 30, 185, 370)
        self.QPushButton("外网IP", "font:15px", 60, 30, 55, 370)
        self.QPushButton("公安IP", "font:15px", 60, 30, 120, 370)

    # 标题
    def QLabel(self, Text, StyleSheet, move_x, move_y):
        label = QLabel(self)
        label.setText(Text)
        label.setStyleSheet(StyleSheet)
        label.move(move_x, move_y)

    # 按钮
    def QPushButton(self, Text, StyleSheet, resize_x, resize_y, move_x, move_y):
        btn = QPushButton(self)
        btn.setText(Text)
        btn.setStyleSheet(StyleSheet)
        btn.resize(resize_x, resize_y)
        btn.move(move_x, move_y)
        btn.clicked.connect(self.SetIP)

    # 输入框
    def LEdit(self, setText, move_x, move_y):
        Input = QLineEdit(self)
        Input.setText(setText)
        print(setText)
        Input.resize(155, 30)
        Input.move(move_x, move_y)
        Input.setStyleSheet("font:20px")
        return Input

    def SetIP(self):
        command = '"netsh interface ipv4 set address "本地连接" static %s %s %s"' % (self.ipaddr.text(), self.mask.text(), self.GAgateway.text())
        # os.system(command)
        print(command)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = YC()
    win.setWindowTitle("小软件")
    win.setFixedSize(300, 500)  # 设定固定窗口大小

    win.show()
    sys.exit(app.exec_())
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-5 21:23:58 | 显示全部楼层
https://blog.csdn.net/jia666666/article/details/81510502

QLineEdit.text() 就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-5 21:54:18 | 显示全部楼层
本帖最后由 wnhuiyou 于 2020-12-5 21:59 编辑
笨鸟学飞 发表于 2020-12-5 21:23
https://blog.csdn.net/jia666666/article/details/81510502

QLineEdit.text() 就行了


我知道用 QLineEdit.text()  我 54行 就返回了值,但是重新输入值后,获取不到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-6 10:17:43 | 显示全部楼层    本楼为最佳答案   
import sys
from PyQt5.Qt import QWidget, QApplication
from PyQt5.QtWidgets import QPushButton, QLabel, QLineEdit


class YC(QWidget):

    def __init__(self):
        super().__init__()

        # 输入框
        self.ipaddr = self.LEdit('', 125, 200)  # 外网IP
        self.mask = self.LEdit('', 125, 240)  # 子网掩码
        self.gateway = self.LEdit('', 125, 280)  # 外网网关
        self.GAgateway = self.LEdit('192.168.1.1', 125, 320)  # 公安网关

        # 标题
        self.QLabel("外网IP:", "font:20px", 50, 205)
        self.QLabel("子网掩码:", "font:20px", 30, 245)
        self.QLabel("外网网关:", "font:20px", 30, 285)
        self.QLabel("公安网关:", "font:20px", 30, 325)

        # 按钮
        self.QPushButton("设置路由表", "font:15px", 90, 30, 55, 410)
        self.QPushButton("删除路由表", "font:15px", 90, 30, 170, 410)
        self.QPushButton("测试公安", "font:15px", 90, 30, 170, 450)
        self.QPushButton("测试外网", "font:15px", 90, 30, 55, 450)
        self.QPushButton("查看路由", "font:15px", 75, 30, 185, 370)
        self.QPushButton("外网IP", "font:15px", 60, 30, 55, 370)
        self.QPushButton("公安IP", "font:15px", 60, 30, 120, 370)

    # 标题
    def QLabel(self, Text, StyleSheet, move_x, move_y):
        label = QLabel(self)
        label.setText(Text)
        label.setStyleSheet(StyleSheet)
        label.move(move_x, move_y)

    # 按钮
    def QPushButton(self, Text, StyleSheet, resize_x, resize_y, move_x, move_y):
        btn = QPushButton(self)
        btn.setText(Text)
        btn.setStyleSheet(StyleSheet)
        btn.resize(resize_x, resize_y)
        btn.move(move_x, move_y)
        btn.clicked.connect(self.SetIP)

    # 输入框
    def LEdit(self, setText, move_x, move_y):
        Input = QLineEdit(self)
        Input.setText(setText)
        print(setText)
        Input.resize(155, 30)
        Input.move(move_x, move_y)
        Input.setStyleSheet("font:20px")
        return Input

    def SetIP(self):
        command = '"netsh interface ipv4 set address "本地连接" static %s %s %s"' % (self.ipaddr.text(), self.mask.text(), self.GAgateway.text())
        # os.system(command)
        print(command)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    win = YC()
    win.setWindowTitle("小软件")
    win.setFixedSize(300, 500)  # 设定固定窗口大小

    win.show()
    sys.exit(app.exec_())
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 04:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表