ahawk |
не пятничная тема, но всё же. До понедельника нужно решить проблему: как передать переменную из класса в класс? Вариант с использованием глобальных переменных и через ссылку на поток не проходят(варианты работают, но использовать нельзя, нужно напрямую).
Исходные данные:
Есть 2 формы написанные в Qt, наследники от QDialog. Первая форма стартует при старте проги, вторая допустим по клику на кнопку (при каждом клике новая форма). Нужно передать переменную. Исходники могу скинуть.
Вот листинг главной проги:
#! /usr/bin/env python
#-*- coding: koi8-r -*-
from form1 import *
from form2 import *
import qt,sys
class form1(Form1):
def __init__(self,parrent=None):
Form1.__init__(self,parrent)
self.connect(self.pushButton1,SIGNAL('clicked()'),self.qwe)
def qwe(self):
abc=123
dlg=form2(self)
dlg.show()
dlg.exec_loop()
class form2(Form2):
def __init__(self,parrent=None):
Form2.__init__(self,parrent)
# print abc
########################################
if __name__=='__main__':
app=QApplication(sys.argv)
codec=QTextCodec.codecForName('KOI8-R')
QTextCodec.setCodecForTr(codec)
QTextCodec.setCodecForCStrings(codec)
dlg=form1()
dlg.show()
dlg.exec_loop()
#######################
вкратце: нужно переменную abc передать из функции qwe в класс form2. Если понадобится могу скинуть файлы форм и главный файл.
Заранее благодарю.
Ну и с ТЯПНИЦЕЙ!
|
ahawk |
табуляция съехала, но думаю листинг читаемый :)
|
ученицА |
Как говорится в анекдоте-Папа....А с кем ты разговариваешь?))
|
ahawk |
фух, спасибо! Проблему решил, правда не на прямую )))
Если кому интересно будя то: На второй форме есть скрытое поле, туда пишем и в самой форме2 оттуда читаем ;)
|
ahawk |
3 )))) Сам с собой )))
|
Vinc |
Жесть Димон... :) С пятницей конечно, но... а с кем ты разговаривал?
|
Emiline |
Задача решена по принципу, чтоб работало. Но все же лично меня интересует грамотное решение данной проблемы:
передача переменной из одного класса в другой без ссылок на главную форму/поток и всяческих подобных решений.
|
vitep |
я короче понимаю это )) но не сегодня))) уж извентисяй))
|
kozzlegg |
Грамотное решение заключается в разработки GUI на Java или .NET, а не на экзотических поделковых приблудах типа PyQt :)))
ПыСы! Тока без обид, это ничего личного, просто мое толстое мохнатое ИМХО :)))
|
ahawk |
9 конечно без обид. На это только могу ответить: на чем просит заказчик - на том и пишем )))
|
kozzlegg |
10 Ну, против желания заказчика не попрешь, это понятно.
|
Emiline |
11 =))) ага =)))
|
Emiline |
Проблема решена =))) Контакт - великая весчь =)))
|
Emiline |
Решение:...
def qwe(self):
abc=123dlg=form2(abc,self)
dlg.show()
dlg.exec_loop()
class form2(Form2):
def __init__(self,ab,parent=None):
Form2.__init__(self,parent)
...
|
Hop_er |
всё так легко ...захватывает,а мона точно такую только с перламутровыми пуговками?:)
|
Emiline |
=)))
|
Akelon |
Ребята! Всё так легко ... вы как дети,если ,что обращайтесь.Я эти задачи решаю от скуки :)
|
dedyshka |
прочитал первый пост, за 3 минуты накатал че писать - а Оля в 14-м посте тоже самое написала)))
|
Akelon |
18. Я решил эту задачку за полминуты ...
|
Akelon |
18. Лёха! Понятно почему ты решил эту задачу за 3 минуты,учитывая твоё тяжёлое детство ...
это сказалось на твои умственные способности,хотя говоря про твои умственные способности я лукавлю и преувеличиваю =)))
|