You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
3.9 KiB
141 lines
3.9 KiB
#!/usr/bin/env python
|
|
|
|
#****************************************************************************
|
|
#** $Id: lineedits.py,v 1.1 2002/06/19 07:56:07 phil Exp $
|
|
#**
|
|
#** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved.
|
|
#**
|
|
#** This file is part of an example program for PyQt. This example
|
|
#** program may be used, distributed and modified without limitation.
|
|
#**
|
|
#*****************************************************************************/
|
|
|
|
import sys
|
|
from qt import *
|
|
|
|
TRUE = 1
|
|
FALSE = 0
|
|
|
|
class LineEdits(QGroupBox):
|
|
def __init__(self, parent = None, name = None):
|
|
QGroupBox.__init__(self, 0, Qt.Horizontal, "Line Edits", parent, name)
|
|
|
|
self.setMargin(10)
|
|
|
|
box = QVBoxLayout(self.layout())
|
|
|
|
row1 = QHBoxLayout(box)
|
|
row1.setMargin(5)
|
|
|
|
label = QLabel("Echo Mode: ", self)
|
|
row1.addWidget(label)
|
|
|
|
combo1 = QComboBox(FALSE, self)
|
|
row1.addWidget(combo1)
|
|
combo1.insertItem("Normal", -1)
|
|
combo1.insertItem("Password", -1)
|
|
combo1.insertItem("No Echo", -1)
|
|
|
|
self.connect(combo1, SIGNAL("activated(int)"), self.slotEchoChanged)
|
|
self.lined1 = QLineEdit(self)
|
|
box.addWidget(self.lined1)
|
|
|
|
row2 = QHBoxLayout(box)
|
|
row2.setMargin(5)
|
|
|
|
label = QLabel("Validator: ", self)
|
|
row2.addWidget(label)
|
|
|
|
combo2 = QComboBox(FALSE, self)
|
|
row2.addWidget(combo2)
|
|
combo2.insertItem("No Validator", -1)
|
|
combo2.insertItem("Integer Validator", -1)
|
|
combo2.insertItem("Double Validator", -1)
|
|
|
|
self.connect(combo2, SIGNAL("activated(int)"), self.slotValidatorChanged)
|
|
|
|
self.lined2 = QLineEdit(self)
|
|
box.addWidget(self.lined2)
|
|
|
|
row3 = QHBoxLayout(box)
|
|
row3.setMargin(5)
|
|
|
|
label = QLabel("Alignment: ", self)
|
|
row3.addWidget(label)
|
|
|
|
combo3 = QComboBox(FALSE, self)
|
|
row3.addWidget(combo3)
|
|
combo3.insertItem("Left", -1)
|
|
combo3.insertItem("Centered", -1)
|
|
combo3.insertItem("Right", -1)
|
|
|
|
self.connect(combo3, SIGNAL("activated(int)"), self.slotAlignmentChanged)
|
|
self.lined3 = QLineEdit(self)
|
|
box.addWidget(self.lined3)
|
|
|
|
row4 = QHBox(self)
|
|
box.addWidget(row4)
|
|
row4.setMargin(5)
|
|
|
|
QLabel("Read-Only: ", row4)
|
|
|
|
combo4 = QComboBox(FALSE, row4)
|
|
combo4.insertItem("False", -1)
|
|
combo4.insertItem("True", -1)
|
|
|
|
self.connect(combo4, SIGNAL("activated(int)"), self.slotReadOnlyChanged)
|
|
|
|
self.lined4 = QLineEdit(self)
|
|
box.addWidget(self.lined4)
|
|
|
|
self.lined1.setFocus()
|
|
|
|
def slotEchoChanged(self, i):
|
|
if i == 0:
|
|
self.lined1.setEchoMode(QLineEdit.Normal)
|
|
elif i == 1:
|
|
self.lined1.setEchoMode(QLineEdit.Password)
|
|
elif i == 2:
|
|
self.lined1.setEchoMode(QLineEdit.NoEcho)
|
|
|
|
self.lined1.setFocus()
|
|
|
|
def slotValidatorChanged(self, i):
|
|
if i == 0:
|
|
self.lined2.setValidator(None)
|
|
elif i == 1:
|
|
self.lined2.setValidator(QIntValidator(self.lined2))
|
|
elif i == 2:
|
|
self.lined2.setValidator(QDoubleValidator(-999.0, 999.0, 2, self.lined2))
|
|
|
|
self.lined2.setText("")
|
|
self.lined2.setFocus()
|
|
|
|
def slotAlignmentChanged(self, i):
|
|
if i == 0:
|
|
self.lined3.setAlignment(QLineEdit.AlignLeft)
|
|
elif i == 1:
|
|
self.lined3.setAlignment(QLineEdit.AlignCenter)
|
|
elif i == 2:
|
|
self.lined3.setAlignment(QLineEdit.AlignRight)
|
|
|
|
self.lined3.setFocus()
|
|
|
|
def slotReadOnlyChanged(self, i):
|
|
if i == 0:
|
|
self.lined4.setReadOnly(FALSE)
|
|
elif i == 1:
|
|
self.lined4.setReadOnly(TRUE)
|
|
|
|
self.lined4.setFocus()
|
|
|
|
|
|
if __name__=='__main__':
|
|
app = QApplication( sys.argv )
|
|
|
|
lineedits = LineEdits()
|
|
lineedits.setCaption("Lineedits - PyQt Example")
|
|
lineedits.show()
|
|
app.setMainWidget(lineedits)
|
|
app.exec_loop()
|