如何在WPF中嵌入CPython解释器

时间:2018-12-09 08:20:54

标签: c# python wpf

我目前正在使用C#和wpf创建一个Python IDE。 因此,我尝试创建一个Python解释器,但是当我浏览互联网时,我没有得到答案,我想问一下。

  1. 如何使用wpf和C#创建python解释器?

  2. 如何创建具有实时输入和输出的Python控制台窗口? this is what i want

我的问题是两个。我将等待答案。谢谢,祝你有美好的一天。

1 个答案:

答案 0 :(得分:0)

创建控制台窗口。当然,只需对itemStyle进行一点调整,就可以从Xaml中实现所需的功能。

    <Grid Background="Black">
    <ListView Background="Black" x:Name="lstView" HorizontalAlignment="Left" Height="420" VerticalAlignment="Top" Width="792">
        <ListView.View>
            <GridView>
                <GridViewColumn Width="792"/>
            </GridView>
        </ListView.View>
        <ListBox.Items>
            <TextBox Background="Black" Foreground="White" Name="currentText" Height="23" Text="TextBox" Width="773" BorderThickness="0" KeyDown="TextBox_KeyDown"/>
        </ListBox.Items>
    </ListView>

enter image description here

并在后面的代码中。

    private void TextBox_KeyDown(object sender, KeyEventArgs e)
    {
        if(e.Key == Key.Enter)
        {
            Label l = new Label();
            l.Content = currentText.Text;
            RunScript(currentText.Text); // Send it to Python and get the result back
            l.Width = 792;
            l.Foreground = new SolidColorBrush(Colors.White);
            if (lstView.Items.Count == 1)
                lstView.Items.Insert(0, l);
            else
                lstView.Items.Insert(lstView.Items.Count-1, l);
            currentText.Text = String.Empty;
        }
    }

    /// This is sample
    private void RunScript(string text)
    {
        try
          {
             // the Python Interpreter with the text
          } 
         Catch(Exception Ex)
         {
         }
    }

对于执行Python脚本,可以使用IronPython。安装IronPython Nuget软件包。

https://medium.com/emoney-engineering/running-python-script-from-c-and-working-with-the-results-843e68d230e5