В железном python кодовом узле в Dynamo Revit, как открыть Winform, найти файл по его полному пути в виде строки? - PullRequest
0 голосов
/ 09 апреля 2020

Я написал этот код, но не могу получить нужную мне информацию в строке 51: «OUT = C: \ FILE.TXT». Я пробовал что-то вроде:

1 OUT = form.FileName 2 создать события, такие как textaged 3 создать кнопку, которая берет текст из текстового поля

Но я сделал беспорядок и ничего не добился, хе-хе, возможно, решение очень простое, но не знаю. Заранее спасибо!

import clr
clr.AddReference('System.Windows.Forms')
clr.AddReference('System.Drawing')

from System.Windows.Forms import *
from System.Drawing import *

run = IN[0]

class MyForm(Form):

    def __init__(self):

        selectInput = Button()
        selectInput.Location = Point(10, 70)
        selectInput.Size = Size(100, 23);
        selectInput.UseVisualStyleBackColor = True
        selectInput.Click += self.onClick
        selectInput.Text = 'Select Input File'
        self.ClientSize = Size(600, 450) 

        global inputFile

        inputFile = TextBox()
        inputFile.Location = Point(10, 50)
        inputFile.Size = Size(500, 20);     

        button = Button()
        button.Parent = self
        button.Text = "import"
        button.Location = Point(10, 200)
        button.Click += self.ButtonClicked

        self.Controls.Add(selectInput)
        self.Controls.Add(inputFile)
        self.Controls.Add(button)

    def onClick(self, sender, args):

        fileDialog = OpenFileDialog()
        fileDialog.InitialDirectory = "C:\Users\a.sandoval.CO-LIVING\Dropbox\CICE\2020 03 30 33 revitpython\ej\03 ej"
        fileDialog.ShowDialog()
        inputFile.Text = fileDialog.FileName            

    def ButtonClicked(self, sender, args):
        self.Close()

form = MyForm()
if run:
    Application.Run(form)
    #OUT = ???
...