Форум сайта python.su
Привет,
Может кто-нибудь помочь?
Я новичок и сейчас изучаю Python.
Как можно стать рабочая программа с графической интерфейс етого на PyQt5.
Дали мне такую задачу, и я не могу этого сделать.
number_1 = int(input("Размер шкафа: ")) number_2 = int(input("Количество зазоры: ")) number_3 = int(input("Размер зазоры: ")) number_4 = int(input("Количество дверей: ")) print ("Размер дверь:", (number_1 - number_2 * number_3) // number_4)
Офлайн
Эта программа должна рассчитать размеры дверей шкафа.
Вот что я сделал. Думаю, это выглядит так. Прикрепляю файлы проекта.
http://prikachi.com/images.php?images/494/9209494B.jpg
Отредактировано invisible (Окт. 29, 2017 07:16:23)
Прикреплённый файлы: papka.rar (3,4 KБ)
Офлайн
invisible
Вот что я сделал. Думаю, это выглядит так. Прикрепляю файлы проекта.
invisibleЯ посмотрел код думаю вам поможет следующее. Вам надо взять Книжку по Питону, Прочитать. Потом Книжку по тому как разрабатывать GUI Прочитать. Потом попрактиковаться. И где-то месяца через два вы легко решите данную задачу. Просто пока у вас похоже нет ни малейшего представления о том что вы делаете. А новомодные средства разработки GUI не сделают из вас программиста.
Буду очень признателен, если кто-то поможет.
import wx class Frame(wx.Frame): def __init__(self): super(Frame, self).__init__(None) self.SetTitle('Шкаф') sizer = wx.BoxSizer(wx.VERTICAL) args=["Размер шкаф","Брой фуги","Размер фуга","Брой врати","результат"] self.ctrl = [] for nm in args: sizer.Add(wx.StaticText(self, label=nm)) obj = wx.TextCtrl(self,value="0") obj.Bind(wx.EVT_TEXT_ENTER,self.update) self.ctrl.append(obj) sizer.Add(obj,flag=wx.EXPAND) self.Center() self.Layout() self.SetSizer(sizer) def update(self,evt): sum=0 for i in self.ctrl[:-1]: sum+=float(i.GetValue()) self.ctrl[-1].SetValue(str(sum)) app = wx.App(False) frame = Frame() frame.Show() app.MainLoop()
Офлайн
invisibleВместо input() надо брать значение из поля формы, а вместо print() нужно устанавливать значение в поле формы. Это делается через методы .value() или .text() и .setValue() или .setText() у полей. Всё происходит по сигналу от кнопки, привязанному к слоту с вычислениями для полей.number_4 = int(input("Количество дверей: ")) print ("Размер дверь:", (number_1 - number_2 * number_3) // number_4)
Офлайн
doza_and
Я посмотрел код думаю вам поможет следующее. Вам надо взять Книжку по Питону, Прочитать. Потом Книжку по тому как разрабатывать GUI Прочитать. Потом попрактиковаться. И где-то месяца через два вы легко решите данную задачу. Просто пока у вас похоже нет ни малейшего представления о том что вы делаете. А новомодные средства разработки GUI не сделают из вас программиста.
Простейший рабочий код выглядит так (он на wx но на самом деле разницы никакой):
Вместо input() надо брать значение из поля формы, а вместо print() нужно устанавливать значение в поле формы. Это делается через методы .value() или .text() и .setValue() или .setText() у полей. Всё происходит по сигналу от кнопки, привязанному к слоту с вычислениями для полей.
Простые примеры привязывания кнопок к полям можешь найти на zetcode.com .
Отредактировано invisible (Окт. 29, 2017 15:28:56)
Офлайн