這篇文章教你開發一個Python桌面應用程序


Telerik UI for WinForms最新版下載

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”的內置模板項目,並創建您的第一個應用程序。

Telerik UI for WinForms教程
Telerik UI for WinForms教程
如何將Telerik RadGridView與現代Fluent主題集成到您的應用程序中

首先,您需要安裝Telerik UI for WinForms UI組件套件 - 您可以從此處點擊下載,然后將所需的Telerik程序集添加到項目文件夾中,以使用WinForms的RadGridView、FluentTheme和RadChartView(spoiler alert,稍后將需要它)控件。

Telerik UI for WinForms教程

要在應用程序中引用二進制文件,請導入clr庫,然后使用addReference方法。 在這里,您可以看到如何添加示例應用程序所需的參考和用法。

 

import clr
import random
clr.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 RadGridView
self.radGrid = RadGridView() 
self.radGrid.BestFitColumns()
self.radGrid.ForeColor = Color.Black
self.radGrid.Dock = DockStyle.Fill 

#Define Columns
self.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 Rows
for 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。

Telerik UI for WinForms教程

如圖中所示,如果您想將主題應用於控件,則可以如此簡單地完成。

 

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

 

訂閱事件並實現您的業務邏輯

這是創建RadButton控件並訂閱其Click事件的示例。

 

#Define RadButton1
self.myButton1 = RadButton()
self.myButton1.Text = "RadButton1"
self.myButton1.Click += self.OnButton1Click
self.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 = True
args.CellElement.ForeColor = Color.Blue
args.CellElement.NumberOfColors = 1
args.CellElement.BackColor = Color.Aqua
else :
args.CellElement.DrawFill = True
args.CellElement.ForeColor = Color.Yellow
args.CellElement.NumberOfColors = 1
args.CellElement.BackColor = Color.Red
else :
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最終結果是這樣的:

Telerik UI for WinForms教程
RadChartView的Little Bonus Setup 示例

正如在radGridView示例中看到的那樣,使用Telerik控件非常容易,我們來看另一個使用BarSeries設置radChartView控件的示例。

 

#Define RadChartView
self.chartView = RadChartView()
self.chartView.Size = Size(290, 160)
self.chartView.Dock = DockStyle.Fill

#Define BarSeries and CategoricDataPoints
self.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應用程序一樣。

Telerik UI for WinForms教程

了解最新Kendo UI最新資訊,請關注Telerik中文網!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM