Найти - Пользователи
Полная версия: PyGTK проблема с gtk.ScrolledWindow()
Начало » GUI » PyGTK проблема с gtk.ScrolledWindow()
1
@cckyi_boxxx
имею главное окно (gtk.Window) в нем для компоновки виджетов юзаю gtk.Layout (в методе приведенном ниже это self.layout)

суть данного метода воткнуть gtk.ScrolledWindow в основное окно , и все втыкаеться нормально но не работает скроллинг когда я юзаю метод add() для добавления gtk.Layout в виджет , но если юзать вместо него add_with_viewport() то все начинает работать как следует но возникает проблема с дизайном

заключаеться она в том что у меня background = ‘#101010’ при всех статусах (gtk.STATE_NORMAL , gtk.STATE_ACTIVE , … ) а при использовании add_with_viewport() вокруг моего gtk.ScrolledWindow появляеться белая рамка которую я не знаю как убрать , сначала грешил на border но как оказалось зря

суть вопроса в том что возможно кто-нибудь знает как от нее избавиться или назначить ей цвет #101010

так-же интересует почему должным образом не срабатывает add()

def __dynamic_space(self):
        # запиливаю gtk.ScrolledWindow
        self.__scrollw = gtk.ScrolledWindow()
        self.__scrollw.set_size_request(700 , 550)
        self.__scrollw.set_style(self.__st4) # здесь задаю бэкгроунд и форегроунд
        # настраиваю вертикальный скроллбар
        self.__scrollv = self.__scrollw.get_vscrollbar()
        self.__scrollv.set_style(self.__st4) # здесь задаю бэкгроунд и форегроунд
        self.__scrollv.set_size_request(20 , 550)
        # настраиваю горизонтальный скроллбар
        self.__scrollh = self.__scrollw.get_hscrollbar()
        self.__scrollh.set_style(self.__st4) # здесь задаю бэкгроунд и форегроунд
        self.__scrollh.set_size_request(700 , 20)
        # настраиваю gtk.ScrolledWindow
        self.__scrollw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
        self.__scrollw.show()
        self.layout.put(self.__scrollw , 0 , 50) # втыкаю gtk.ScrolledWindow в gtk.Window
        # запиливаю gtk.Layout для gtk.ScrolledWindow
        self.__dlayout = gtk.Layout() 
        self.__dlayout.set_style(self.__st4) # здесь задаю бэкгроунд и форегроунд
        self.__dlayout.set_size_request(700 , 10000)
        self.__dlayout.show()
        # в следующей строчке и есть описываемая выше проблема (в коменте рабочий вариант но он косячит дизайн)
        self.__scrollw.add(self.__dlayout) # self.__scrollw.add_with_viewport(self.__dlayout)
        # запилена кнопка расположение которой теста ради выходит за пределы высоты gtk.ScrolledWindow (550)
        self.tb = gtk.Button('lol')
        self.tb.set_size_request(50 , 50)
        self.tb.show()
        self.__dlayout.put(self.tb , 0 , 800)
@cckyi_boxxx
#################### UPD #####################

уже не требуеться , я решил отказаться от юзанья gtk.ScrolledWindow() , прошу модераторов удалить тему т.к. она бесполезна для всех
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB