Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 12, 2018 12:57:55

b.fedonin
Зарегистрирован: 2018-06-12
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Взаимодействие функций

Всем доброго времени суток! По долгу профессии появилась необходимость написать скрипт для рабочей программы на ironpython. Сам я не программист, но что то вроде понимаю
К делу. Ниже часть скрипта, это формы windows. Первая функция по вызову создает заданное количество Combobox-ов, и мне нужно, чтобы при выборе какого либо пункта в combobox под ним появлялось соответствующее изображение. Проблема в том, что в данный момент создаваемый PictureBox является дочерним для самой формы, насколько я понимаю (pb.Parent = self). И создаваемые изображения никак не привязаны к своим комбобоксам. Надеюсь понятно выразился) Необходимо, чтобы создаваемый PictureBox наследовал расположение от своего Combobox, таким образом можно будет не управлять координатами каждой картинки, просто задать относительно родительского объекта. Не нашел подобной информации, уже не один час потратил( Буду признателен за помощь

     
    def cashupdate(self,sender,event):
        self.CashLen = sender.Text
        self.CashLen = int(self.CashLen)
        n = self.CashLen/500
        z = 150
        for i in range(n):
            cb = ComboBox()
            cb.Parent = self
            cb.Width = 120
            cb.Location = Point(20+(z*i), 300)
            cb.Items.AddRange(("Модуль №1",
            "Модуль №2","Модуль №3","Модуль №4"))
            cb.SelectedValueChanged += self.Module  
            
    def Module(self, sender, event):
        im = sender.Text
        pathm1 = "C:\\Dodo\module1.png"
        pathm2 = "C:\\Dodo\module2.png"
        pathm3 = "C:\\Dodo\module3.png"
        pathm4 = "C:\\Dodo\module4.png"
        if im == "Модуль №1":
            img = Bitmap.FromFile(pathm1)
            z = 20
        elif im == "Модуль №2":
            img = Bitmap.FromFile(pathm2)
            z = 170
        elif im == "Модуль №3":
            img = Bitmap.FromFile(pathm3)
            z = 290
        elif im == "Модуль №4":
            img = Bitmap.FromFile(pathm4)
            z = 410
        pb = PictureBox()
        pb.Parent = self
        pb.Size = Size(img.Width, img.Height)
        pb.Location = Point(20, 20)
        pb.Image = img 

Офлайн

#2 Июнь 12, 2018 15:56:28

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Взаимодействие функций

В качестве пассивной помощи могу сообщить следующее:
1. На IronPython на форуме наверное никто не пишет, если только пробегают временно люди.
2. Народ Если и пишет GUI то в Qt, Tkinter, wxpython или в web. т.е. даже для самообразования небудут разбираться с WinForms, поскольку такой скил никому не нужен.

Практические советы, извините они очень банальные:
1. Думаю помощи надо искать на шарповых форумах.
2. Полезно обратиться к автору ПО.
3. Если планируется дальнейшее использование и модификация то полезно переписать ПО на что-то более мейнстримное поскольку Winforms насколько я знаю и микрософт забросил. Если менять ПО то надо тщательней выбирать технологию и команду исполнителей чтобы не остаться у разбитого корыта.



Отредактировано doza_and (Июнь 12, 2018 15:59:42)

Офлайн

#3 Июнь 12, 2018 23:21:03

b.fedonin
Зарегистрирован: 2018-06-12
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Взаимодействие функций

doza_and, чтож, спасибо)
про qt и tkinter знаю, но, насколько мне известно, наше приложение поддерживает только скрипты на ironpython. Скрипт разовый, до авторов ПО в лице Autodesk, конечно, не достучаться) а вот на форум c# загляну, спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version