Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 21, 2011 13:48:28

Piton23
От:
Зарегистрирован: 2011-10-17
Сообщения: 139
Репутация: +  5  -
Профиль   Отправить e-mail  

Убрать label из grid wx

Привет всем
Чет ищу ищу и не могу найти, можно ли убрать из grid Label ?
По идее получается sizer

А сайзер не охота использовать, надо двойной левый щелчок, по ячейкам обрабатывать. Да и Renderer привлекает у грида.
Конечно можно после первого щелчка делать Skip() и ждать второй, аля получаем событие. Но это если не получится убрать label из грида

Надеюсь на помощь

Отредактировано (Ноя. 21, 2011 16:26:22)

Офлайн

#2 Ноя. 22, 2011 03:24:50

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

Убрать label из grid wx

Не понял, что за label? имеются ввиду заголовки строк и колонок?

.SetRowLabelSize(0)
.SetColLabelSize(0)



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#3 Ноя. 22, 2011 04:40:12

Piton23
От:
Зарегистрирован: 2011-10-17
Сообщения: 139
Репутация: +  5  -
Профиль   Отправить e-mail  

Убрать label из grid wx

Да имеется ввиду именно заголовки строк и колонок у грида.
хм интересное решение сузить до 0 а не убрать, сделаю пока так
надо поэкспериментировать с растягиванием окон, будут ли вылазить
спасиб

Отредактировано (Ноя. 22, 2011 04:41:02)

Офлайн

#4 Ноя. 22, 2011 05:34:55

Piton23
От:
Зарегистрирован: 2011-10-17
Сообщения: 139
Репутация: +  5  -
Профиль   Отправить e-mail  

Убрать label из grid wx

чтобы добить эту тему задам еще один вопрос связанную с гридами. А именно обращение к некоторым областям. Кидаю рисунок чтоб было понятно о чем речь

Картинка (hdd.tomsk.ru)

На рисунке видны 2 области к которым я никак не могу получить доступ
Не уверен что правильно понимаю суть работы грида, но почему когда устанавливаешь 7 строк и 4 столбца, он добавляет невидимую пустую строку справа и снизу соответственно? В итоге получаем 8 строк и 5 столбцов. Я предполагаю чтоб иметь возможность в дальнейшем изменять количество строк\столбцов (с данными) у грида. Ну да ладно

Но тут самое интересное. Цель. Обратится к этой области чтоб закрасить background соответствующим цветом. Пытался запихнуть данный грид в вертикальный сайзер и расстянуть до правой стороны, так же в горизонтальный сайзер и растянуть до низа. Но ниче не выходит, он не реагирует свойства Add
self.gridsizer.Add(self.grid, 1, wx.EXPAND)
Даже в гридСайзер кидал грид но ни к чему не привело

Код для большей ясности (часть кода относится к панели куда добавляется грид):

class MainPanelAddPeople(wx.Panel):
def __init__(self, parent, ID=-1, label="", pos=wx.DefaultPosition, size=(380,250)):
wx.Panel.__init__(self, parent, ID, pos, size) #, wx.NO_BORDER
self.MainWindow = parent
self.SetBackgroundColour('#AACC44')

gridLabels = ["Имя", "Пароль", "Статус", "Права"]

self.grid = wx.grid.Grid(self, size=(380, 300))#, size=size
self.grid.CreateGrid(7, 4)
for row in range(6):
for col in range(4):
self.grid.SetCellValue(row, col, "cell (%d,%d)" % (row, col))
self.grid.SetCellBackgroundColour(row, col, '#AACC44')

self.grid.SetCellBackgroundColour(5, 2, '#AA2244')
self.grid.SetCellBackgroundColour(6, 0, '#AA2244')

for col in range(len(gridLabels)):
self.grid.SetColLabelValue(col, gridLabels[col])
self.grid.SetLabelBackgroundColour('#AACC44')


self.grid.SetCellHighlightColour('#33AA22')

#self.grid.SetCellRenderer(3, 3, wx.grid.GridCellBoolRenderer)
self.grid.SetRowLabelSize(0)
self.grid.SetColLabelSize(20)

self.gridsizer = wx.GridSizer()
self.gridsizer.Add(self.grid, 1, wx.EXPAND)
self.SetSizer(self.gridsizer)
self.Layout()

#self.sizer = wx.BoxSizer(wx.HORIZONTAL)
#self.sizer.Add(self.grid, 1, wx.EXPAND)
Ну раз не получается закрасить данную область то пробовал дальше растянуть длину ячеек чтоб спрятать этот fail столбец

Написал много. Конкретизирую цель, мне надо либо закрасить эти области (не могу обратится к ним), либо спрятать, типа растянуть до правой границы этот грид. Так же растянуть вниз.
НО при увеличении ширины ячейки всплывает горизонтальный бегунок, который не к месту.


Даже если как то получится спрятать справа этот столбец то непонятно как быть с нижним. Т.к. предполагается добавлять снизу грида еще виджеты, аля кнопки. Конечно можно по извращаться, типа сделать 2 панели добавить их в вертикальный сайзер и дальше прятать низ грида за границей верхней панели, Но тут также появится вертикальный бегунок который мне не нужен.

Идеи закончились, надеюсь вы пнете меня в нужном направлении )

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version