MyGUI_Orge官网教程_5.窗口部件控制

创建

手工

创建一个没有父亲的窗口部件widget:

MyGUI::Gui::getInstance().createWidget<MyGUI::widget_type>("skin_name", x, y, w, h, MyGUI::Align, "layer_name"[, "widget_name"]);

MyGUI::Gui::getInstance().createWidgetReal<MyGUI::widget_type>("skin_name", x_r, y_r, w_r, h_r, MyGUI::Align, "layer_name"[, "widget_name"]);

 
创建一个子窗口部件:

parent_ptr->createWidget<MyGUI::widget_type>("skin_name", x, y, w, h, MyGUI::Align [, "widget_name"]);
parent_ptr->createWidgetReal<MyGUI::widget_type>("skin_name", x_r, y_r, w_r, h_r, MyGUI::Align [, "widget_name"]);

可用的widget_type值和skin_name可在MyGUI主页找到。
Possible widget_type values can be found at the MyGUI main page.

skin_name can be the same as the widget or any skin from the MyGUI main page.

x, y, w, h是其位置、宽度、高度(像素)。

x_r, y_r, w_r, h_r 是相对于其父亲(如果没有父亲就是屏幕)的位置、宽度、高度,坐标从0到1.

x_r, y_r, w_r, h_r is the widget position width and height relative to its parent (or the screen, if it doesn't have a parent) in coordinates from 0 to 1.

Possible align values can be found in the align table.

All layer_names can be found in the standard layers.

widget_name is an optional parameter.

找到一个部件

找到一个窗口部件 (比如按钮)

MyGUI::Button* button = MyGUI::Gui::getInstance().findWidget<MyGUI::Button>("button_name");

如果你不关心部件类型,可以这样:

MyGUI::Widget* any_widget = MyGUI::Gui::getInstance().findWidgetT("widget_name");

 

销毁

为了摧毁它,你需要有这种形式的指针(widget_ptr). 然后这样写:

MyGUI::Gui::getInstance().destroyWidget(widget_ptr);

如果你没有指针,你需要用它的名字搜索获取

MyGUI::Widget* widget = MyGUI::Gui::getInstance().findWidgetT("widget_name");

MyGUI::Gui::getInstance().destroyWidget(widget);
这段代码,只有文本框能显示,其它控件都不能显示。为什么呢?class tkinterGUI(): root = None # 定义为类属性,可以在类的多个实例中共享 def __init__(self, geometry): pass def test(self): pass def create_root_win(self): self.root, self.文本框_主消息 = self.create_toplevel_win(True, "软件标题", "430x670", self.test, False, False) self.root.mainloop() # 在 create_root_win 方法中调用 mainloop 方法,显示窗口 def root_win_add1(self): if self.root is None: self.create_root_win() self.文本框_主消息.insert("1.0","efdssfdadsfasf") # 主内容区域 notebook = Notebook(self.root) notebook.pack(fill=tk.BOTH, expand=True) def create_toplevel_win(self,if_root,title,size,close_cmd,textbox_n,if_resize_width=True,if_resize_heigh=True): if if_root: mygui=tk.Tk() else: mygui=tk.Toplevel(self.root) 窗口win启动 = True mygui.title = title mygui.protocol('WM_DELETE_WINDOW', close_cmd) # 把点击x关闭窗口变成不要关闭并最小化到托盘 # 设置大小 居中展示 #win.bind("<Configure>", lambda root:win_mouse_release(root)) mygui.resizable(width=if_resize_width, height=if_resize_heigh) mygui.wm_attributes('-topmost', 1) #mygui.geometry(size+ "+" + str(self.root.winfo_x() + self.root.winfo_width()) + "+" + str(self.root.winfo_y())) mygui.geometry(size) tbox = ScrolledText(mygui) #self.eval("文本框"+title) = ScrolledText(self.win) tbox.place(relx=0.01, rely=0.18, relwidth=0.99, relheight=0.8) mygui.mainloop() return mygui,tbox # a,b=400,650 def show_msg_in_toplevel(self): self.win_msg,self.win_msg_tb= self.create_toplevel_win(self.root,"实时解盘","350x670",self.隐藏到任务栏,False,False) if __name__=="__main__": root=tkinterGUI("360x670") root.root_win_add1()
最新发布
03-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值