翻譯|使用教程|編輯:龔雪|2021-01-04 11:23:54.057|閱讀 715 次
概述:無(wú)論您的Python應(yīng)用程序需要精美的GUI,還是現(xiàn)有Python桌面應(yīng)用程序需要一些其他功能,都可以借助Telerik UI For WinForms控件來(lái)實(shí)現(xiàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
相關(guān)鏈接:
IronPython和最新的Visual Studio 2019使這一切成為可能,它們使Python桌面應(yīng)用程序可以與WinForms控件一起使用。 更重要的是,Telerik UI For WinForms套件擁有現(xiàn)成的一些功能來(lái)幫助您實(shí)現(xiàn)想要的功能!
IronPython是Python強(qiáng)大的開(kāi)源版本,它是在Microsoft .NET框架上運(yùn)行的Python編程語(yǔ)言的改編,IronPython可以使用.NET Framework和Python庫(kù),而其他.NET語(yǔ)言也可以輕松使用Python代碼。
安裝最新版本的IronPython之后,您可以打開(kāi)Visual Studio 2019,該Studio帶有用于“ IronPython Windows Forms Application”的內(nèi)置模板項(xiàng)目,并創(chuàng)建您的第一個(gè)應(yīng)用程序。
首先,您需要安裝Telerik UI for WinForms UI組件套件 - 您可以從此處點(diǎn)擊下載,然后將所需的Telerik程序集添加到項(xiàng)目文件夾中,以使用WinForms的RadGridView、FluentTheme和RadChartView(spoiler alert,稍后將需要它)控件。
要在應(yīng)用程序中引用二進(jìn)制文件,請(qǐng)導(dǎo)入clr庫(kù),然后使用方法。 在這里,您可以看到如何添加示例應(yīng)用程序所需的參考和用法。
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 *
現(xiàn)在,讓我們看一下如何添加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))
該結(jié)果是一個(gè)radGridView,它具有以下列:GridViewDecimalColumn,GridViewTextBoxColumn,GridViewColorColumn,GridViewCheckBoxColumn,GridViewRatingColumn。
如圖中所示,如果您想將主題應(yīng)用于控件,則可以如此簡(jiǎn)單地完成。
fluent = FluentTheme() self.ThemeName = fluent.ThemeName self.radGrid.ThemeName = fluent.ThemeName
這是創(chuàng)建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
現(xiàn)在,我們使用上一個(gè)示例中的radGridView來(lái)看一個(gè)更復(fù)雜的事件相關(guān)示例。 我們將在CellFormatting事件中實(shí)現(xiàn)一些邏輯,以便用不同的顏色填充GridViewRatingColumn中的單元格。 Rating單元內(nèi)的值可以在0到100之間,如果值<50,我們將用紅色填充這些單元,否則我們將使用Aqua顏色。 我們可以使用以下代碼實(shí)現(xiàn)此結(jié)果:
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最終結(jié)果是這樣的:
正如在radGridView示例中看到的那樣,使用Telerik控件非常容易,我們來(lái)看另一個(gè)使用BarSeries設(shè)置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)
結(jié)果與您期望的Telerik UI for WinForms應(yīng)用程序一樣。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)