@python_beginnersЭта группа больше не существует

Страница 1559 из 1885
><
06.04.2017
14:24:43
Дратути , начал делать оконное приложение с несколькими формами через pyQt5 и уже несколько часов пытаюсь найти в гугле ответ, но ответа не нашел. так вот , я имею 2 *.py документа внутри которых прописан интерфейс форм . И при нажатии на кнопку 1 формы , должна открыться 2 форма. На c# это изи делалось , а тут не могу найти правильную функцию show и ее правописание.

><
06.04.2017
14:26:10
Зачем тебе 2 py файла?
ну в Qt disigner делал формы по отдельности и потом перегнал из ui в py и получилось несколько файлов

b0g3r
06.04.2017
14:37:35
Насколько я помню - нужно для начала отнаследоваться от перегнанных в .py классов

Google
Sergey
06.04.2017
14:37:38
а нельзя проимпортировать и вызвать напрямую?

b0g3r
06.04.2017
14:37:39
И в них уже определить логику

сделать connect какой-нибудь функции к какой-нибудь кнопке

><
06.04.2017
14:38:16
а нельзя проимпортировать и вызвать напрямую?
вот меня такой стиль и интересует

b0g3r
06.04.2017
14:38:27
в функции вызвать вторую форму

Sergey
06.04.2017
14:38:47
import 2,py Class 1 { 2().form; }

ой, да

b0g3r
06.04.2017
14:38:57
Что здесь происходит вообще

Sergey
06.04.2017
14:39:00
в функции.

b0g3r
06.04.2017
14:39:08
Это какой язык?)

53r63rn4r
06.04.2017
14:39:32
Какие же джангисты ленивые

Sergey
06.04.2017
14:39:39
import 2.py class 1 { def a(): 2().blabla }

Это какой язык?)
Вроде питон. Не похож?)

Google
Проксимов
06.04.2017
14:40:33
Что ито

Нет не похож

b0g3r
06.04.2017
14:40:46
Sergey
06.04.2017
14:40:47
Почему?

b0g3r
06.04.2017
14:40:54
Вот вообще

имя состоящее из цифры - невалидное

Проксимов
06.04.2017
14:41:07
Смешать скобочки и форматирование

Гениально мать его

b0g3r
06.04.2017
14:41:17
при импорте .py не указывается

Sergey
06.04.2017
14:41:19
а, фак)

Да, переглючило

ща поправлю

b0g3r
06.04.2017
14:41:32
ну и скобочки и отступы)

Sergey
06.04.2017
14:41:51
тут как-то тяжко с отступами

Проксимов
06.04.2017
14:42:25
Очень сложно

Sergey
06.04.2017
14:42:33
import 2 class 1: def a(self): 2().blabla

Проксимов
06.04.2017
14:43:00
Сказали же что цифра-не валидное имя переменной

Sergey
06.04.2017
14:43:00
http://s5.pikabu.ru/post_img/big/2015/04/23/8/1429794583_343353562.png

Это 1 и 2 файл

можно вместо 1 и 2 -> first second

Google
Проксимов
06.04.2017
14:43:38
Ууу

53r63rn4r
06.04.2017
14:43:53
Он на пальцах просто рассказал, не придирайся(я тоже так подумал сначала, но потом перечитал выше сообщения)

Sergey
06.04.2017
14:45:29
ну а как еще? есть два файла: 1 и 2. В первом надо вызвать функцию второго. импортируем второй import 2 В классе первом class 1: создаем фукнцию, где будет вызываться функция (ы) из второго файла def a(self): 2().blabla

b0g3r
06.04.2017
14:45:48
а зачем вообще класс здесь?)

Sergey
06.04.2017
14:45:49
Или мне надо валидный код написать, используя его названия которые он не указал?

b0g3r
06.04.2017
14:46:15
сергей, проблема здесь не в вызове функции из другого файла

а проблема вообще такая довольно объемная - pyqt5, ui-файлы, pyuic генерация

53r63rn4r
06.04.2017
14:46:55
:D Помню ебался с pyqt

Sergey
06.04.2017
14:47:35
Так я сделал предположение. Разве нельзя вызвать напрямую? Наверняка есть конструктор, который все собирает?

Sergey
06.04.2017
14:48:10
Ну да да, слегка подзабыл все

> import 2 > 2(). Кхм
там class 2, очевидно ж )

b0g3r
06.04.2017
14:48:37
в решении абстрактной проблемы это ещё могло как-то направить на путь истинный, но в данной ситуации это навредит

потому что решение в данном случае вообще не тривиальное

Nick
06.04.2017
14:49:01
тут у меня задачка в учебнике питона, но ответ который я получаю при написании в компе отличается от книжного:

avaliable_toppings = ['mushrooms', 'olives', 'green peppers', 'extra cheese'] requested_toppings = ['mushrooms', 'french fries' 'extra cheese'] for requested_topping in requested_toppings: if requested_topping in avaliable_toppings: print("adding " + requested_topping + ".") else: print("sorry")

ответ: adding mushrooms. sorry А должен быть: adding mushrooms. sorry adding extra cheese

в чем проблем?

Google
b0g3r
06.04.2017
14:50:37
у тебя получается

'french fries' 'extra cheese'

строки следующие друг за другом складываются

Nick
06.04.2017
14:51:05
да, глупо. Спасибо

еще один вопрос есть

b0g3r
06.04.2017
14:51:21
и получается ['mushrooms', 'french friesextra cheese']

нужно сначала перегнать с помощью pyuic5 файлы .ui в файлы .py Внутри будет авто-сгенерированный код, который представляет из себя каркас модельки Нужно создать файл реальной формы, куда импортировать каркас и от него отнаследоваться: from forms import Ui_MainWindow class MainWindow(Ui_MainWindow): # и определить метод init def __init__(self): # внутри которого вызвать инит каркаса super().init() self.window = QMainWindow() # и установить каркас на окно: self.setupUi(self.window)

точно также нужно поступить и со второй формой - импортировать каркас и отнаследоваться от него

ещё должен быть файл, который будет создавать QApplication, и вызывать реальную форму

а логику обработки кнопки прописать в функциях внутри реальных форм и сделать connect на нужные кнопки

><
06.04.2017
14:55:17
thx , сейчас буду траить

b0g3r
06.04.2017
14:59:00
поэтому мне и не очень нравится предложение импортить что-то куда-то и что-то вызывать

Qwizzy
06.04.2017
15:43:15
Привет. Подскажите, плз, можно ли через argparse провалидировать регуляркой значение параметра?

И, соответственно, падать с ошибкой если валидация не проходит

Igor
06.04.2017
15:43:50
там нет такой валидации вроде

можно валидировать уже в своем коде

получая содержимое аргумента и выкидывая эксепшн какой-нибудь

или завершая программу а-ля sys.exit(1)

Google
Qwizzy
06.04.2017
15:45:45
т.е что-то типа if not re.match(pattern, args.param): print("error") ?

Igor
06.04.2017
15:45:56
ага

Qwizzy
06.04.2017
15:46:05
Хм, окей. Спасибо

Cyber
06.04.2017
17:24:27
всем ку, подскажите где находится путь в папке на виды ошибок sentax,name и т.д

syntax*

норм шутник, подправлю. все что в терминалах выводятся ошибки, где сами их папки находятся для изменений кода

самих ошибок, например SyntzxError подменить на другое описание и т.д.

sairusvirus
06.04.2017
17:29:50
а через try

через исключения

Cyber
06.04.2017
17:30:54
можно пожалуйста подробней?

sairusvirus
06.04.2017
17:32:05
try: выполняем код какой нибудь

Tony
06.04.2017
17:32:23
Эксепт

Угадал?

sairusvirus
06.04.2017
17:32:33
если код с ошибкой то except

Tony
06.04.2017
17:32:40
Да!

Ееее

sairusvirus
06.04.2017
17:32:49
и в except пишешь хуйню какую хочешь

Spacehug
06.04.2017
17:33:07
Ему нужно знать где лежит код со строками "Тырыпыр on line 10:", насколько я понял

sairusvirus
06.04.2017
17:33:08
типа print('Ошибка жестокая')

Страница 1559 из 1885

Эта группа больше не существует Эта группа больше не существует