这篇文章教你开发一个Python桌面应用程序(这篇文章教你开发一个python桌面应用程序英语)

点击“了解更多”获取工具下载

IronPython和最新的Visual Studio 2019使这一切成为可能,它们使Python桌面应用程序可以与WinForms控件一起使用。 更重要的是,Telerik UI For WinForms套件拥有现成的一些功能来帮助您实现想要的功能!

Iron Python

IronPython是Python强大的开源版本,它是在Microsoft .NET框架上运行的Python编程语言的改编,IronPython可以使用.NET Framework和Python库,而其他.NET语言也可以轻松使用Python代码。

安装最新版本的IronPython之后,您可以打开Visual Studio 2019,该Studio带有用于“ IronPython Windows Forms Application”的内置模板项目,并创建您的第一个应用程序。

这篇文章教你开发一个Python桌面应用程序(这篇文章教你开发一个python桌面应用程序英语)这篇文章教你开发一个Python桌面应用程序(这篇文章教你开发一个python桌面应用程序英语)

如何将Telerik RadGridView与现代Fluent主题集成到您的应用程序中

首先,您需要安装Telerik UI for WinForms UI组件套件 – 您可以从此处点击下载,然后将所需的Telerik程序集添加到项目文件夹中,以使用WinForms的RadGridView、FluentTheme和RadChartView(spoiler alert,稍后将需要它)控件。

这篇文章教你开发一个Python桌面应用程序(这篇文章教你开发一个python桌面应用程序英语)

要在应用程序中引用二进制文件,请导入clr库,然后使用addReference方法。 在这里,您可以看到如何添加示例应用程序所需的参考和用法。

import clrimport randomclr.AddReference('System.Drawing')clr.AddReference('System.Windows.Forms')clr.AddReference('Telerik.WinControls')clr.AddReference('Telerik.WinControls.UI')clr.AddReference('Telerik.WinControls.ChartView')clr.AddReference('Telerik.WinControls.Themes.Fluent')clr.AddReference('TelerikCommon')clr.AddReference('Telerik.WinControls.GridView')from System.Drawing import *from System.Windows.Forms import *from Telerik.WinControls import *from Telerik.WinControls.UI import *from Telerik.Charting import *from Telerik.WinControls.Themes import *

现在,让我们看一下如何添加radGridView控件,其中包含一堆不同的列。

#Define RadGridViewself.radGrid = RadGridView() self.radGrid.BestFitColumns()self.radGrid.ForeColor = Color.Blackself.radGrid.Dock = DockStyle.Fill #Define Columnsself.decimalColumn = GridViewDecimalColumn()self.textBoxColumn = GridViewTextBoxColumn()self.colorColumn = GridViewColorColumn()self.checkBoxColumn = GridViewCheckBoxColumn()self.ratingColumn = GridViewRatingColumn()self.decimalColumn.HeaderText = "DecimalColumn"self.textBoxColumn.HeaderText = "Text"self.colorColumn.HeaderText = "ColorColumn"self.checkBoxColumn.HeaderText = "CheckBoxColumn"self.ratingColumn.HeaderText = "RatingColumn"self.radGrid.Columns.Add(self.decimalColumn)self.radGrid.Columns.Add(self.textBoxColumn)self.radGrid.Columns.Add(self.colorColumn)self.radGrid.Columns.Add(self.checkBoxColumn)self.radGrid.Columns.Add(self.ratingColumn)self.Controls.Add(self.radGrid)#Populate Rowsfor index in range(10):self.radGrid.Rows.Add(index, "Sample Text " str(index), Color.FromArgb(random.randint(1,255), random.randint(1,255), random.randint(1,255)), CheckState.Checked, random.randint(1,100))

该结果是一个radGridView,它具有以下列:GridViewDecimalColumn,GridViewTextBoxColumn,GridViewColorColumn,GridViewCheckBoxColumn,GridViewRatingColumn。

这篇文章教你开发一个Python桌面应用程序(这篇文章教你开发一个python桌面应用程序英语)

如图中所示,如果您想将主题应用于控件,则可以如此简单地完成。

fluent = FluentTheme()self.ThemeName = fluent.ThemeName self.radGrid.ThemeName = fluent.ThemeName

订阅事件并实现您的业务逻辑

这是创建RadButton控件并订阅其Click事件的示例。

#Define RadButton1self.myButton1 = RadButton()self.myButton1.Text = "RadButton1"self.myButton1.Click = self.OnButton1Clickself.Controls.Add(self.myButton1)

然后,您将必须定义OnButtonClick逻辑。

def OnButton1Click(self, sender, args):#TODO OnClick logic

现在,我们使用上一个示例中的radGridView来看一个更复杂的事件相关示例。 我们将在CellFormatting事件中实现一些逻辑,以便用不同的颜色填充GridViewRatingColumn中的单元格。 Rating单元内的值可以在0到100之间,如果值<50,我们将用红色填充这些单元,否则我们将使用Aqua颜色。 我们可以使用以下代码实现此结果:

def OnRadGridCellFormatting(self, sender, args):if args is not None :if args.Column.HeaderText == "RatingColumn" :if args.CellElement.RowInfo.Cells[4].Value is not None :if args.CellElement.Value > 50 : args.CellElement.DrawFill = Trueargs.CellElement.ForeColor = Color.Blueargs.CellElement.NumberOfColors = 1args.CellElement.BackColor = Color.Aquaelse :args.CellElement.DrawFill = Trueargs.CellElement.ForeColor = Color.Yellowargs.CellElement.NumberOfColors = 1args.CellElement.BackColor = Color.Redelse :args.CellElement.ResetValue(LightVisualElement.DrawFillProperty, ValueResetFlags.Local)args.CellElement.ResetValue(LightVisualElement.ForeColorProperty, ValueResetFlags.Local)args.CellElement.ResetValue(LightVisualElement.NumberOfColorsProperty, ValueResetFlags.Local)args.CellElement.ResetValue(LightVisualElement.BackColorProperty, ValueResetFlags.Local)

CellFormatting最终结果是这样的:

这篇文章教你开发一个Python桌面应用程序(这篇文章教你开发一个python桌面应用程序英语)

RadChartView的Little Bonus Setup 示例

正如在radGridView示例中看到的那样,使用Telerik控件非常容易,我们来看另一个使用BarSeries设置radChartView控件的示例。

#Define RadChartViewself.chartView = RadChartView()self.chartView.Size = Size(290, 160)self.chartView.Dock = DockStyle.Fill#Define BarSeries and CategoricDataPointsself.barSeries = BarSeries("Performance", "RepresentativeName")self.barSeries.Name = "Q1"self.categoricDataPoint1 = CategoricalDataPoint(177, "Harley")self.categoricDataPoint2 = CategoricalDataPoint(128, "White")self.categoricDataPoint3 = CategoricalDataPoint(143, "Smith")self.categoricDataPoint4 = CategoricalDataPoint(111, "Jones")self.barSeries.DataPoints.Add(self.categoricDataPoint1)self.barSeries.DataPoints.Add(self.categoricDataPoint2)self.barSeries.DataPoints.Add(self.categoricDataPoint3)self.barSeries.DataPoints.Add(self.categoricDataPoint4) self.chartView.Series.Add(self.barSeries)self.Controls.Add(self.chartView)

结果与您期望的Telerik UI for WinForms应用程序一样。

这篇文章教你开发一个Python桌面应用程序(这篇文章教你开发一个python桌面应用程序英语)


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月2日 下午4:58
下一篇 2024年5月2日 下午5:10

相关推荐

  • 公司项目进度管理

    公司项目进度管理 随着现代商业竞争的不断加剧,公司项目进度管理已成为项目管理中至关重要的一环。一个高效的项目进度管理可以帮助公司确保项目按时、按质、按量完成,从而为公司赢得更多的利…

    科研百科 2024年9月18日
    20
  • 隔空取数:且看跨网窃密如何实现(隔空传送的方法)

    通常来说,物理隔离是最为保守也是最为保险的网络安全防护措施之一,安全性、保密性要求较高的内部网络通常都会进行物理隔离处理。一般情况下,入侵物理隔离网络的难度要远大于非物理隔离网络,…

    科研百科 2024年3月21日
    178
  • 泸州老窖档案研究成果再获全国档案学会表彰

    近日,中国档案学会正式发布2022年度“新发展理念下档案文化建设的创新与实践” 主题征文活动评选结果通知,泸州老窖股份有限公司档案研究成果《基于企业历史档案研究成果的品牌与产品创意…

    科研百科 2024年4月8日
    94
  • 民营经济与党建(民营经济与党建的关系)

    今年的全国两会上,“民营经济”再度成为热词。3月10日上午8时,在全国政协十四届二次会议最后一场“委员通道”集体采访活动上,多位政协委员谈到民营经济。今年的政府工作报告重申了民营经…

    科研百科 2024年7月18日
    49
  • 科研管理流程

    科研管理流程是保证科学研究顺利进行的基础,本文介绍科研管理流程的重要性及其基本组成部分。 科研管理流程是指科学研究过程中各个环节的协调和整合,包括科研计划制定、实验设计、数据采集、…

    科研百科 2024年10月12日
    10
  • 合同管理过程 高项(合同管理过程)

    合同管理过程 合同管理是组织管理中的一个重要环节,它的目的是确保合同的有效执行和履行。合同管理过程需要全面考虑合同的各个方面,包括合同的签订、执行、维护和终止。本文将介绍合同管理的…

    科研百科 2024年6月5日
    59
  • 穿孔知识扫盲(穿孔知识扫盲-钢管-管机-毛管-轧辊-孔型)

    孔机调整 1、穿孔机调整正确的标志是什么? 答:管坯咬入平稳、毛管抛出顺利、穿孔过程稳定、顶杆无明显跳动、毛管内外表面质量良好、毛管尺寸符合要求、主电机负荷正常。 2、调整穿孔机应…

    科研百科 2024年1月24日
    239
  • 高质量发展看山西国企:晋能控股集团党建引领聚合力 深化提升促发展

    朔州煤电公司党委书记、董事长田军:“强党建”奏响高质量发展“奋进曲” 朔州煤电公司认真贯彻落实集团公司2024年党建工作会议精神和“1158”党建工作部署,以“管理提升年”为契机,…

    科研百科 2024年6月9日
    55
  • 国企党建工作形式主义问题治理对策(国企党建形势)

    形式主义是导致国有企业党建工作与中心工作“两张皮”的最大顽疾,应分析形式主义问题在国有企业党建领域的主要表现、产生原因,从把头脑武装好、把制度完善好、把书记选配好、把日常监督好等方…

    科研百科 2024年5月30日
    95
  • 2024年卫生院党建工作情况汇报材料

    2024年卫生院党建工作情况汇报材料 近年来,卫生院党建工作在上级领导的正确指导和支持下,在全体员工的共同努力下,取得了显著成绩。现将2024年党建工作汇报如下: 一、党建工作总体…

    科研百科 2024年10月14日
    100