Sharll-large / FMCL

A Python Minecraft Launcher wants to create a new minecraft launcher developing period for Python developers.
MIT License
16 stars 2 forks source link

对UI的建议 #18

Open mc-124 opened 9 months ago

mc-124 commented 9 months ago

1.建议在存在窗体时不使用tkinter.messagebox而是在窗体内新建一个Frame去放置控件来实现窗体内的消息弹窗,免得一些用户让messagebox失去了焦点导致满屏幕找弹窗 2.使用Canvas实现滚动页面,感觉现在的有点装不下……我的Simple-Craft-Launcher中有一个这样的控件,你们可以拿来参考参考

# 我使用的是from导入,代码可能需要稍微调整
class ScrollableFrame(Frame):
    "滚动容器"
    def __init__(self,container:Widget,width:int=400,height:int=400,*args,**kwargs):
        '''
        :container: 窗体
        :width: 宽
        :height: 高
        '''
        super().__init__(container,*args,**kwargs)
        canvas = Canvas(self,bg='white',width=width,height=height)
        scrollbar = Scrollbar(self,orient="vertical",command=canvas.yview)
        self.scrollable_frame = Frame(canvas)
        self.scrollable_frame.bind("<Configure>",lambda e: canvas.configure(scrollregion=canvas.bbox("all")))
        canvas.create_window((0,0),window=self.scrollable_frame,anchor="nw")
        def _on_mouse_scroll(event):
            canvas.yview_scroll(int(-1*(event.delta/120)),"units")
        canvas.bind('<MouseWheel>',_on_mouse_scroll)
        canvas.configure(yscrollcommand=scrollbar.set)
        canvas.pack(side="left",fill="both",expand=True)
        scrollbar.pack(side="right",fill="y")

    def add_widget(self,widget): 
        widget.pack()

3.没了

Sharll-large commented 9 months ago

焦点问题其实把toolbar属性去掉就行,已经解决

Sharll-large commented 9 months ago

说实话这个UI也不是我写的,我也不会改

mc-124 commented 9 months ago

@pxinz ui的其他页面不能使用else.py,和关键字重叠了,你这样import直接报错,建议改成other或者more

pxinz commented 9 months ago

@pxinz ui的其他页面不能使用else.py,和关键字重叠了,你这样import直接报错,建议改成other或者more

蛤?没有叫else.py的东西啊?兄弟指个路
另外UI又在重写了 我们也在探讨,所以改了也可能不会有很长的生效
不过这个Open问题为什么要Close with command啊(

mc-124 commented 9 months ago

@pxinz ui的其他页面不能使用else.py,和关键字重叠了,你这样import直接报错,建议改成other或者more

蛤?没有叫else.py的东西啊?兄弟指个路 另外UI又在重写了 我们也在探讨,所以改了也可能不会有很长的生效 不过这个Open问题为什么要Close with command啊(

我好像是在ui的某个readme里看到的

mc-124 commented 9 months ago

我也不知道我为什么要关了它

pxinz commented 9 months ago

@pxinz ui的其他页面不能使用else.py,和关键字重叠了,你这样import直接报错,建议改成other或者more

蛤?没有叫else.py的东西啊?兄弟指个路 另外UI又在重写了 我们也在探讨,所以改了也可能不会有很长的生效 不过这个Open问题为什么要Close with command啊(

我好像是在ui的某个readme里看到的

草 这个是很老的README了