Saturday, 14 September 2013

relation between QcheckBox and QLineEdit and sound like a bug

relation between QcheckBox and QLineEdit and sound like a bug

I have a set checkbox and linEdit and i disbaled lineEdit by default, When
i click on checkox related to lineEdit, the given checkbox will be
enabled.Then after click a pushbutton or editingFinished signal i send
content of lineEdit to a my slot: setFilterDict.
But i have a serious problem:
I checked a checkbox and write my text in LineEdit, its, Ok,But i need to
once disable it and enbale to send my data to my slot.
My connects functions are:
##### Slots for checkboxes (enable/disabling)
QtCore.QObject.connect(self.checkBox,
QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), self.lineEdit.setEnabled)
QtCore.QObject.connect(self.checkBox_3,
QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), self.dateEdit.setEnabled)
QtCore.QObject.connect(self.checkBox_3,
QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), self.dateEdit_2.setEnabled)
QtCore.QObject.connect(self.checkBox,
QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), self.lineEdit.setEnabled)
QtCore.QObject.connect(self.checkBox_2,
QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), self.lineEdit_2.setEnabled)
QtCore.QObject.connect(self.checkBox_4,
QtCore.SIGNAL(_fromUtf8("stateChanged(int)")), self.lineEdit_3.setEnabled)
#####
##### Slots for checkboxes/lineEdits (filling dict for database fields and
values)
QtCore.QObject.connect(self.checkBox,
QtCore.SIGNAL(_fromUtf8("clicked(bool)")), lambda:
self.interfaceCodesConstructor.setFilterDict(self,"name",self.lineEdit.text()))
QtCore.QObject.connect(self.checkBox_2,
QtCore.SIGNAL(_fromUtf8("clicked(bool)")), lambda:
self.interfaceCodesConstructor.setFilterDict(self,"bought_price",persianToInteger(unicode(self.lineEdit_2.text()))))
QtCore.QObject.connect(self.checkBox_3,
QtCore.SIGNAL(_fromUtf8("clicked(bool)")), lambda:
self.interfaceCodesConstructor.setFilterDict(self,"bought_date",self.dateEdit.text()))
##date
QtCore.QObject.connect(self.checkBox_4,
QtCore.SIGNAL(_fromUtf8("clicked(bool)")), lambda:
self.interfaceCodesConstructor.setFilterDict(self,"stock",persianToInteger(unicode(self.lineEdit_3.text()))))
QtCore.QObject.connect(self.lineEdit,
QtCore.SIGNAL(_fromUtf8("editingFinished()")), lambda:
self.interfaceCodesConstructor.responseToRequestForData(self))
QtCore.QObject.connect(self.lineEdit_2,
QtCore.SIGNAL(_fromUtf8("editingFinished()")), lambda:
self.interfaceCodesConstructor.responseToRequestForData(self))
QtCore.QObject.connect(self.lineEdit_3,
QtCore.SIGNAL(_fromUtf8("editingFinished()")), lambda:
self.interfaceCodesConstructor.responseToRequestForData(self))
#### pressing seach key and start search action
QtCore.QObject.connect(self.lineEdit,
QtCore.SIGNAL(_fromUtf8("returnPressed()")), lambda:
self.interfaceCodesConstructor.responseToRequestForData(self))
QtCore.QObject.connect(self.pushButtonSearch,
QtCore.SIGNAL(_fromUtf8("clicked()")), lambda:
self.interfaceCodesConstructor.responseToRequestForData(self))
#######
## enable/disabling "price date" checkbox
QtCore.QObject.connect(self.checkBox_3,
QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.dateEdit.setEnabled)
QtCore.QObject.connect(self.checkBox_3,
QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.dateEdit_2.setEnabled)
My question is, I need to just enable and write text in lineEdit to send
data, how to write my connects functions?
Notes: setFilterDict get field name and content of lineEdit and fill in
dict.and responseToRequestForData start to query.

No comments:

Post a Comment