首页/文章/ 详情

Workbench平台GUI二次开发入门系列——布局管理2

1月前浏览416

案例使用方法

本入门教程中的所有案例均已测试通过,具体参考入门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 游戏——贪吃蛇

布局管理2

case07 固定按钮

目标:固定按钮在某个特定位置

按钮位置的固定,在界面的右下角设计按钮,并使得按钮锚定在右下角位置,不随着窗体大小的变化而改变。

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

from System.Windows.Forms import Application, Form, Button, Panel
from System.Windows.Forms import DockStyle, AnchorStyles
from System.Drawing import Size, Point

WIDTH = 250
HEIGHT = 150
BUTTONS_SPACE = 15
PANEL_SPACE = 10
CLOSE_SPACE = 15

class IForm(Form):
    def __init__(self):
        self.Text = 'Buttons'
        self.Size = Size(WIDTH, HEIGHT)
        ok = Button()
        PANEL_HEIGHT = ok.Height + PANEL_SPACE
        panel = Panel()
        panel.Height = PANEL_HEIGHT
        panel.Dock = DockStyle.Bottom
        panel.Parent = self
        x = ok.Width * 2 + BUTTONS_SPACE
        y = (PANEL_HEIGHT - ok.Height) / 2
        ok.Text = "Ok"
        ok.Parent = panel
        ok.Location = Point(WIDTH-x, y)
        ok.Anchor = AnchorStyles.Right
        close = Button()
        x = close.Width
        close.Text = "Close"
        close.Parent = panel
        close.Location = Point(WIDTH-x-CLOSE_SPACE, y)
        close.Anchor = AnchorStyles.Right
        self.CenterToScreen()    

IForm().ShowDialog()

效果展示:

case08 播放器框架

目标:综合的案例,涉及菜单栏,按钮和骨架多种控件

设计包含: 

1、菜单栏,下拉菜单等; 

2、主体展示; 

3、控制按钮,播放的进度等。 

4、状态栏文字显示

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

from System.Windows.Forms import Application, Form, Button, Panel
from System.Windows.Forms import DockStyle, AnchorStyles, StatusBar
from System.Windows.Forms import TrackBar, MainMenu, MenuItem
from System.Windows.Forms import FlatStyle, TickStyle, Shortcut
from System.Drawing import Size, Point, Bitmap, Color

path1 = r"D:\01-图片\icon-png\TrackBar-1.png"
path2 = r"D:\01-图片\icon-png\TrackBar-2.png"
path3 = r"D:\01-图片\icon-png\TrackBar-3.png"
path4 = r"D:\01-图片\icon-png\TrackBar-4.png"

class IForm(Form):
    def __init__(self):
        self.Text = 'Player'        
        self.Size = Size(350280)
        mainMenu = MainMenu()
        filem = mainMenu.MenuItems.Add("&File")
        playm = mainMenu.MenuItems.Add("&Play")
        view = mainMenu.MenuItems.Add("&View")
        tools = mainMenu.MenuItems.Add("&Tools")
        favourites = mainMenu.MenuItems.Add("&Favourites")
        help = mainMenu.MenuItems.Add("&Help")
        filem.MenuItems.Add(MenuItem("E&xit",self.OnExit, Shortcut.CtrlX))
        self.Menu = mainMenu
        panel = Panel()
        panel.Parent = self
        panel.BackColor = Color.Black
        panel.Dock = DockStyle.Fill
        buttonPanel = Panel()
        buttonPanel.Parent = self
        buttonPanel.Height = 40
        buttonPanel.Dock = DockStyle.Bottom
        pause = Button()
        pause.FlatStyle = FlatStyle.Popup
        pause.Parent = buttonPanel
        pause.Location = Point(510)
        pause.Size = Size(2525)
        pause.Image = Bitmap(path1)
        play = Button()
        play.FlatStyle = FlatStyle.Popup
        play.Parent = buttonPanel
        play.Location = Point(3510)
        play.Size = Size(2525)
        play.Image = Bitmap(path2)
        forward = Button()
        forward.FlatStyle = FlatStyle.Popup
        forward.Parent = buttonPanel
        forward.Location = Point(8010)
        forward.Size = Size(2525)
        forward.Image = Bitmap(path3)
        backward = Button()
        backward.FlatStyle = FlatStyle.Popup
        backward.Parent = buttonPanel
        backward.Location = Point(11010)
        backward.Size = Size(2525)
        backward.Image = Bitmap(path4)
        tb = TrackBar()
        tb.Parent = buttonPanel
        tb.TickStyle = TickStyle.None
        tb.Size = Size(15025)
        tb.Location = Point(20010)
        tb.Anchor = AnchorStyles.Right
        audio = Button()
        audio.FlatStyle = FlatStyle.Popup
        audio.Parent = buttonPanel
        audio.Size = Size(2525)
        audio.Image = Bitmap(path1)
        audio.Location = Point(17010)
        audio.Anchor = AnchorStyles.Right
        s b = StatusBar()
        s b.Parent = self
        s b.Text = "Ready"
        self.CenterToScreen()
    def OnExit(self, sender, event):
        self.Close()

IForm().ShowDialog()

效果展示: 

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



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

Workbench平台GUI二次开发入门系列——菜单栏1

案例使用方法本入门教程中的所有案例均已测试通过,具体参考入门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 游戏——贪吃蛇菜单栏1case09 菜单栏目标:创建菜单栏及一级子菜单本案例创建了菜单栏和一级子菜单,并设置了退出的快捷键。# encoding: utf-8import clrclr.AddReference("System.Windows.Forms")clr.AddReference("System.Drawing")from System.Windows.Forms import Application, Formfrom System.Windows.Forms import Keys, MenuStrip, ToolStripMenuItemfrom System.Drawing import Sizeclass IForm(Form): def __init__(self): self.Text = 'Simple Menu' self.Size = Size(250, 200) ms = MenuStrip() ms.Parent = self filem = ToolStripMenuItem("&File") exit = ToolStripMenuItem("&Exit", None, self.OnExit) # exit的快捷键 exit.ShortcutKeys = Keys.Control | Keys.X # filem下添加eixt子菜单 filem.DropDownItems.Add(exit) ms.Items.Add(filem) self.MainMenuStrip = ms self.CenterToScreen() def OnExit(self, sender, event): self.Close()IForm().ShowDialog() 退出可以通过点击退出按钮或者快捷键 Ctrl+X效果展示:case10 子菜单栏目标:编写多级子菜单本案例展示如何编写一级及多级子菜单。# encoding: utf-8import clrclr.AddReference("System.Windows.Forms")clr.AddReference("System.Drawing")from System.Windows.Forms import Application, Formfrom System.Windows.Forms import MenuStrip, ToolStripMenuItemfrom System.Drawing import Sizeclass IForm(Form): def __init__(self): self.Text = 'Simple Menu' self.Size = Size(380, 200) ms = MenuStrip() ms.Parent = self filem = ToolStripMenuItem("&File") # 添加exit功能事件 exit = ToolStripMenuItem("&Exit", None, self.OnExit) importm = ToolStripMenuItem() importm.Text = "Import" # File添加下级菜单 filem.DropDownItems.Add(importm) temp = ToolStripMenuItem() temp.Text = "Import newsfeed list..." importm.DropDownItems.Add(temp) temp = ToolStripMenuItem() temp.Text = "Import bookmarks..." importm.DropDownItems.Add(temp) temp = ToolStripMenuItem() temp.Text = "Import mail..." importm.DropDownItems.Add(temp) filem.DropDownItems.Add(exit) ms.Items.Add(filem) self.MainMenuStrip = ms self.CenterToScreen() def OnExit(self, sender, event): self.Close()IForm().ShowDialog() 效果展示完整的本地电子版本参阅入门1中的其他。来源:CAE中学生

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