Найти - Пользователи
Полная версия: сигналы , слоты
Начало » GUI » сигналы , слоты
1
birst
Добрый день,
Возниклка небольшая непонятка с сигналами и слотами
я создаю класс , конструкторе указываю , кнопку

button=QtGui.PushButton(u“Обзор”, self.frame)

по нажатию этой кнопки должно открытся QFileDialog окно , его тоже прописываю в конструкторе

self.dialog=QtGui.QFileDialog()

далее в конструкторе хочу прописать соеденение , т.к. в QFileDialog нет слота , то я пишу свой , делаю его методом этого же класса , и уже оттуда хочу вызвать метод dialog.getExistingDirectory()

def OpenBrowseDialog(signal) :
self.dialog.GetExistingDirectory(self.frame,“welcome”,“/home”)

прописываю соеденение , в конструкторе все того же класса

self.connect (button,QtCore.SIGNAL(“clicked()”),self.OpenBrowseDialog)

при запуске всего этого , мне начинает ругаться на то что self undefined в строке

self.dialog.GetExistingDirectory(self.frame,“welcome”,“/home”)

меня интересует два вопроса , почему я не могу получить доступ из метода класса к обьектам этого же класса , ведь у питона по умолчанию можно не указывать в параметрах метода первым аргументом self так как он передается автоматом

второй как можно передать в слот кроме одного параметра signal еще какие либо ? мне придется писать обертку для стандартного сигнала ? Или есть гораздо простой путь ?
Cleric
birst
ведь у питона по умолчанию можно не указывать в параметрах метода первым аргументом self так как он передается автоматом
вообщето нет), self должен всегда идти первым параметром (если это не статик метод).

birst
второй как можно передать в слот кроме одного параметра signal еще какие либо ? мне придется писать обертку для стандартного сигнала ? Или есть гораздо простой путь ?
в слот передается не сигнал а параметр/ы, например если сигнал void setChecked ( bool ) то в слот передается переменная показывающая нажата ли кнопка (QAbstractButton).

А вообще от чтения документации никто еще не умерал и без знания базовых вещей далеко не уедешь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB