【发布时间】:2015-04-10 04:33:51
【问题描述】:
我有一个窗口,里面有两个 QLineEdit。它们是第 1 行和第 2 行。我有一个要按下的 Backspace QPushButton。我想要一些代码,当按下退格键时,它将从所需的 QLineEdit 中删除文本。这要根据当时的重点来做。
我知道目前我的代码将退格第 1 行,但是我希望它删除最近有焦点的任何行编辑(即,如果在退格之前选择第 1 行,它将退格,如果第 2 行是最后一个焦点,那么它将被退格)。
我认为它需要一个 if 语句或 2,但不确定。如何根据最后一个焦点选择删除哪一行编辑?
from PySide import QtGui, QtCore
from PySide.QtCore import*
from PySide.QtGui import*
class MainWindow(QtGui.QMainWindow): #The Main Window Class Maker
def __init__(self,):
QtGui.QMainWindow.__init__(self)
QtGui.QApplication.setStyle(('cleanlooks'))
mfont = QFont()
mfont.setFamily("BankGothic LT")
mfont.setPointSize(40)
mfont.setBold(True)
xfont = QFont()
xfont.setFamily("BankGothic LT")
xfont.setPointSize(40)
xfont.setLetterSpacing(QFont.AbsoluteSpacing, 15)
self.line1 = QLineEdit("Line 1", self)
self.line1.setFixedSize(460, 65)
self.line1.setFont(xfont)
self.line1.move(10,10)
self.line2 = QLineEdit("Line 2", self)
self.line2.setFixedSize(460, 65)
self.line2.setFont(xfont)
self.line2.move(10,200)
#BackSpace button
back = QPushButton("BackSpace", self)
back.move(100,100)
back.setFixedSize(300,75)
back.setFont(mfont)
back.clicked.connect(self.line1.backspace)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.setWindowTitle("BackSpace")
window.resize(480, 400)
window.setMaximumSize(480,400)
window.setMinimumSize(480,400)
window.show()
sys.exit(app.exec_())
【问题讨论】:
标签: python pyside qlineedit qpushbutton