如何使用python从QLineEdit获取输入,并在用户点击enter时将其放入变量?我不想用活动fi

2024-09-30 01:29:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我只需要知道如何将输入到QLine中的值链接到变量。我尝试过各种方法,比如returnPressed(),但都没用。 我已经检查了其他问题,但我想避免事件过滤器。谢谢

from PySide.QtGui import *
from PySide.QtCore import *

window = QWidget()
window.resize(500,300)
window.setWindowTitle('converter')

layout1 = QHBoxLayout()
layout2 = QVBoxLayout()

box = QComboBox()
box.addItems(['lenght','area','volume'])
box.setCurrentIndex(-1)
box.setObjectName('UNIT')
layout1.addWidget(box)


box2 = QComboBox()
box.setObjectName('FROM')
layout1.addWidget(box2)

line1 = QLineEdit()
line1.setObjectName('num1')
layout1.addWidget(line1)

box3 = QComboBox()
box3.setObjectName('TO')
layout1.addWidget(box3)

label = QLabel()
label.setObjectName('num2')

layout2.addLayout(layout1)
layout2.addWidget(label)
window.setLayout(layout2)

def changeValues():
    if box.currentIndex() == 0:
        box2.clear()
        box3.clear()
        box2.addItems(['km', 'km', 'cm', 'mm'])
        box3.addItems(['km', 'm', 'cm', 'mm'])
    elif box.currentIndex() == 1:
        box2.clear()
        box3.clear()
        box2.addItems(['km2', 'e', 'm2', 'cm2', 'mm2'])
        box3.addItems(['km2', 'e', 'm2', 'cm2', 'mm2'])
    elif box.currentIndex() == 2:
        box2.clear()
        box3.clear()
        box2.addItems(['m3', 'cm3', 'mm3', 'l', 'dl', 'cl', 'ml'])
        box3.addItems(['m3', 'cm3', 'mm3', 'l', 'dl', 'cl', 'ml'])


box.currentIndexChanged.connect(changeValues)

window.show()

Tags: boxwindowlabelclearkmline1setobjectnameaddwidget

热门问题