首页/文章/ 详情

Workbench平台GUI二次开发入门系列——高级控件1

3小时前浏览6

案例使用方法

本入门教程中的所有案例均已测试通过,具体参考入门1中的使用方法。

目录

01 入门1

02 入门2 

03 布局管理1 

04 布局管理2 

05 菜单栏1 

06 菜单栏2 

07 工具栏 

08 基本控件1 

09 基本控件2 

10 基本控件3 

11 基本控件4

12 高级控件1 

13 高级控件2 

14 对话框1 

15 对话框2 

16 拖拽功能 

17 绘图1 

18 绘图2 

19 绘图3 

20 绘图4 

21 进度条 

22 游戏——贪吃蛇

高级控件1

case22 ListBox

目标:创建一个列表框,并添加选项

本案中,创建了一个列表框,并在其中添加了一些名字,当单击某个名字时,状态栏显示该名字。可用于展示读取少量外部数据后并展示。

# encoding: utf-8
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")

from System.Windows.Forms import Application, Form, StatusBar
from System.Windows.Forms import ListBox, DockStyle
from System.Drawing import Size

class IForm(Form):
    def __init__(self):
        self.Text = "ListBox"
        lb = ListBox()
        lb.Parent = self
        lb.Items.Add("Jessica")
        lb.Items.Add("Rachel")
        lb.Items.Add("Angelina")
        lb.Items.Add("Amy")
        lb.Items.Add("Jennifer")
        lb.Items.Add("Scarlett")
        lb.Dock = DockStyle.Fill
        lb.SelectedIndexChanged += self.OnChanged
        self.s b = StatusBar()
        self.s b.Parent = self
        self.Size = Size(220220)
        self.CenterToScreen()
    def OnChanged(self, sender, event):
        self.s b.Text = sender.SelectedItem

Application.Run(IForm())


效果展示:

case23 ListView

目标:创建ListView,列表视图

本案中创建了一个ListView,该控件的列表是多行多列的列表。 采用的是actresses字典来梳理数据。

# encoding: utf-8
import clr
clr.AddReference("System.Windows.Forms")
clr.AddReference("System.Drawing")

from System.Windows.Forms import Application, Form, StatusBar
from System.Windows.Forms import ListView, View, ColumnHeader
from System.Windows.Forms import ListViewItem, DockStyle, SortOrder
from System.Drawing import Size

class IForm(Form):
    def __init__(self):
        self.Text = 'ListBox'
        actresses = { 'Jessica Alba' : '1981''Angelina Jolie' : '1975''Natalie Portman' : '1981''Rachel Weiss' : '1971''Scarlett Johansson' : 1984 }
        name = ColumnHeader()
        name.Text = 'Name'
        name.Width = -1
        year = ColumnHeader()
        year.Text = 'Year'
        self.SuspendLayout()
        lv = ListView()
        lv.Parent = self
        lv.FullRowSelect = True
        lv.GridLines = True
        lv.AllowColumnReorder = True
        lv.Sorting = SortOrder.Ascending
        lv.Columns.AddRange((name, year))
        lv.ColumnClick += self.OnColumnClick
        for act in actresses.keys():
            item = ListViewItem()
            item.Text = act
            item.SubItems.Add(str(actresses[act]))
            lv.Items.Add(item)
        lv.Dock = DockStyle.Fill
        lv.Click += self.OnChanged
        self.s b = StatusBar()
        self.s b.Parent = self
        lv.View = View.Details
        self.ResumeLayout()
        self.Size = Size(350300)
        self.CenterToScreen()
    def OnChanged(self, sender, event):
        name = sender.SelectedItems[0].SubItems[0].Text
        born = sender.SelectedItems[0].SubItems[1].Text
        self.s b.Text = name + ', ' + born
    def OnColumnClick(self, sender, event):
        if sender.Sorting == SortOrder.Ascending:
            sender.Sorting = SortOrder.Descending
        else
            sender.Sorting = SortOrder.Ascending

Application.Run(IForm())


效果展示:


完整的本地电子版本参阅入门1的其他。



来源:CAE中学生
ACTWorkbenchSystem二次开发电子UM游戏
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-02-25
最近编辑:3小时前
CAE无剑
硕士 | 仿真工程师 CAE中学生
获赞 709粉丝 1565文章 268课程 0
点赞
收藏
作者推荐

Workbench平台GUI二次开发入门系列——基本控件4

案例使用方法本入门教程中的所有案例均已测试通过,具体参考入门1中的使用方法。目录01 入门102 入门2 03 布局管理1 04 布局管理2 05 菜单栏1 06 菜单栏2 07 工具栏 08 基本控件1 09 基本控件2 10 基本控件3 11 基本控件4 12 高级控件1 13 高级控件2 14 对话框1 15 对话框2 16 拖拽功能 17 绘图1 18 绘图2 19 绘图3 20 绘图4 21 进度条 22 游戏——贪吃蛇基本控件4case20 工具栏控件7 TextBox 目标:创建TextBox,并显示在Label标签上。本案例中分别创建了TextBox和Label两个控件,在TextBox中可以输入字符,相应的字符会显示在Label中。# encoding: utf-8import clrclr.AddReference("System.Windows.Forms")clr.AddReference("System.Drawing")from System.Windows.Forms import Application, Formfrom System.Windows.Forms import Label, TextBoxfrom System.Drawing import Size, Pointclass IForm(Form): def __init__(self): self.Text = 'TextBox' self.text = Label() self.text.Parent = self self.text.Text = "..." self.text.AutoSize = True self.text.Location = Point(60, 40) tbox = TextBox() tbox.Parent = self tbox.Location = Point(60, 100) tbox.KeyUp += self.OnKeyUp self.Size = Size(250, 200) self.CenterToScreen() def OnKeyUp(self, sender, event): self.text.Text = sender.TextApplication.Run(IForm()) 效果展示:case21 工具栏控件8 PictureBox目标:创建一个图片框,并在其中显示图片。# encoding: utf-8import sysimport clrclr.AddReference("System.Windows.Forms")clr.AddReference("System.Drawing")from System.Windows.Forms import Application, Form, PictureBoxfrom System.Drawing import Size, Point, Bitmappath = r"D:\01-图片\12345.png"class IForm(Form): def __init__(self): self.Text = 'PictureBox' try: castle = Bitmap(path) except Exception, e: print 'Cannot read image file' print e.message sys.exit(1) pb = PictureBox() pb.Parent = self pb.Size = Size(castle.Width, castle.Height) pb.Location = Point(2, 2) pb.Image = castle self.Size = Size(castle.Width, castle.Height) self.CenterToScreen()Application.Run(IForm()) 效果展示:完整的本地电子版本参阅入门1的其他。来源:CAE中学生

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈