I’m trying to hide the DirectScrolledFrame objects in my code; however, despite using the hide function, it will not work. When I do it, it appears to hide the information in the frame, but it does not hide the frame itself.
I made a module to build menus more easily, so here is the code to build it from the module:
from direct.gui.DirectGui import *
import Common
class MenuBuilder():
...
def menu_scroll_builder(self, frame_size_stats: tuple, frame_position: tuple, canvas_size_stats: tuple):
self.menu_scrolled = DirectScrolledFrame(canvasSize = canvas_size_stats,
frameSize= frame_size_stats,
pos = frame_position,
relief = DGG.FLAT,
autoHideScrollBars = True,
scrollBarWidth = 0.02,
frameTexture = "PackMenu/PackMenuAttempt2.png")
self.scroll_canvas = self.menu_scrolled.getCanvas()
return self.scroll_canvas, self.menu_scrolled
Here is the code creating the frame as well as the code to hide it:
def gear_normal_buffs(self):
self.gear_normal_buff_menu = MenuBuilder(0.3)
self.normal_buff_canvas, self.gear_normal_buff_frame = self.gear_normal_buff_menu.menu_scroll_builder((-0.2, 0.2, -0.64, -0.3), GEAR_STATS_MENU_POSITIONS[self.battleposition_index], (-0.2, 0.2, -1.44, -0.3))
def gear_normal_buffs_rows(self):
...
self.gear_normal_buff_frame.hide()
try:
self.normal_buff_canvas.hide()
except:
pass
I have made sure to have both of the functions run, so I’m really struggling to see what the issue is.