Название: Сделать не активным QLineEdit (новичок) Отправлено: aivs от Октябрь 06, 2011, 15:50 Начал изучать PyQt4, и никак не могу найти информацию, как сделать элемент QLineEdit не активным, чтобы в нем нельзя было писать, в методах у него не нашел.
Есть строка для ввода текста titleEdit = QtGui.QLineEdit() Есть кнопка ok = QtGui.QPushButton("OK") Нужно чтобы кнопка блокировала ввод текста, организую связь self.connect(ok, QtCore.SIGNAL('clicked()'), titleEdit, QtCore.SLOT(' что за метод ???')) Подскажите как сделать элемент не активным, а лучше ткните где об этом написано !! Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: Пантер от Октябрь 06, 2011, 15:50 setEnabled
setDisabled Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: aivs от Октябрь 06, 2011, 16:18 Такой метод я пробовал, из QWidget он.
Делаю так self.connect(ok, QtCore.SIGNAL('clicked()'), titleEdit, QtCore.SLOT('setDisabled()')) И при запуске программы у меня сообщение: [aivs@myhost pyqt]$ ./pyarchnetcfg.py Object::connect: No such slot QLineEdit::setDisabled() Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: Larry от Октябрь 06, 2011, 16:24 а как ты объявил слот setDisabled()? Он у тебя не может соединиться со слотом...У меня такое было при опечатках:)
Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: aivs от Октябрь 06, 2011, 16:32 Судя по всему никак я не объявлял слот, я думал они всегда доступны, как методы
Моя программа: Код
Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: Larry от Октябрь 06, 2011, 16:35 я не знаю как в питоне объявляется, но в с++
Код: public slots: и потом этот слот надо определить... Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: kambala от Октябрь 06, 2011, 16:38 вообще-то эти 2 слота имеют параметр типа bool. можешь создать свой слот (disableLineEdit() к примеру), в котором просто будешь вызывать lineEdit.setDisabled(true): self.connect(ok, QtCore.SIGNAL('clicked()'), self, QtCore.SLOT('disableLineEdit()'))
Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: Larry от Октябрь 06, 2011, 16:50 извиняюсь, эт я протупил ;D...переработал, бывает ;D
Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: aivs от Октябрь 06, 2011, 17:12 Спасибо, почитаю как создать свой слот в python
Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: iroln от Октябрь 07, 2011, 22:44 Ну вы даёте. setReadOnly(bool flag) же. :) Редактировать нельзя, выделять и копировать текст можно. Это лучше чем setEnabled, я гарантирую! :)
Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: kambala от Октябрь 08, 2011, 00:53 и правда :) но от создания собственного слота это не оградит.
Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: aivs от Октябрь 09, 2011, 16:28 и правда :) но от создания собственного слота это не оградит. Мне нужно, чтобы визуально виджет выглядел бы заблокированным, ни копировать, ни вставлять.Название: Re: Сделать не активным QLineEdit (новичок) Отправлено: kambala от Октябрь 09, 2011, 16:44 значит в слоте вызвать lineEdit.setEnabled(false) (или lineEdit.setDisabled(true), что аналогично)
|