WxPython, Как реализовать функцию подкачки для wx.grid.Grid?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 WxPython, Как реализовать функцию подкачки для wx.grid.Grid?

Сообщение Anonymous »

Я хочу загрузить CSV-файл с (10 столбцов, 1 000 000 строк) в wx.Grid с автоматическим изменением размера строк.
Время, необходимое для автоматического изменения размера 1 миллиона строк, слишком велико (>1 час). в зависимости от данных).
Поэтому я хочу реализовать функцию разбиения на страницы в wx.Grid.
Идеи, которые у меня есть в разум:
1: использование вертикальной полосы прокрутки wx.grid
  • Первоначально загрузить 1000 строк данных с автоматическим размером.
  • Чтобы перехватить событие вертикальной полосы прокрутки wx.grid при достижении конца сетки, добавьте в сетку еще 1000 строк.
2: Использование пункта меню или кнопок
  • Создайте пункты меню или кнопку в родительском Wx.Frame с помощью имена как Prev, Next, оставляя их отключенными.
  • Затем загрузите wx.grid в Wx.Frame только с 1000 строками данных с автоматическим размером и включите параметры Prev, Next.
  • Каждый раз, когда пользователь нажимает любую опцию, данные удаляются из сетки и добавляются следующие 1000 строк данных.
Код для 1 :
Создан пустой образец сетки без данных.
Попытка использовать событие прокрутки нижней части полосы прокрутки для запуска функции AddRows:
(Но она не работает ни с какими событиями полосы прокрутки, я пробовал)

Код: Выделить всё

import wx
import wx.grid

class MyForm(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, parent=None, title="A Simple Grid")

panel = wx.Panel(self)
myGrid = MyGrid(panel)
myGrid.fillGrid()

sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(myGrid, 1, wx.EXPAND)
panel.SetSizerAndFit(sizer)

self.Maximize()

class MyGrid(wx.grid.Grid):
def __init__(self, parent):
wx.grid.Grid.__init__(self, parent)

def fillGrid(self):
self.CreateGrid(1000, 10)

self.SetColLabelValue(0, "Column1")
self.SetColLabelValue(1, "Column2")
self.SetColLabelValue(2, "Column3")
self.SetColLabelValue(3, "Column4")
self.SetColLabelValue(4, "Column5")
self.SetColLabelValue(5, "Column6")
self.SetColLabelValue(6, "Column7")
self.SetColLabelValue(7, "Column8")
self.SetColLabelValue(8, "Column9")
self.SetColLabelValue(9, "Column10")

self.SetDefaultColSize(width=350, resizeExistingCols=True)
self.SetDefaultRowSize(height=30, resizeExistingRows=True)

# Any proper Scroll Bar Event to Trigger Add new rows.
self.Bind(wx.EVT_SCROLL_BOTTOM, self.AddRows)

def AddRows(self, event):
self.AppendRows(1000, True)

if __name__ == "__main__":
app = wx.App(False)
frame = MyForm().Show()
app.MainLoop()
Резюме:
Я не могу правильно реализовать ни одну из вышеперечисленных идей из-за моего ограниченного опыта работы с WxPython. .
Мне нужна работающая реализация любой из вышеперечисленных идей разбиения на страницы wx.grid.
И, пожалуйста, предложите другие возможные идеи для удовлетворения моей потребности в функциональность подкачки.
Версии:
  • Windows V20H2
  • Python 3.10. 7
  • WxPython 4.2.0


Подробнее здесь: https://stackoverflow.com/questions/750 ... -grid-grid
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Wxpython вызывает функцию при изменении фокуса TextCtrl
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать эффект подкачки в элементе управления FlowLayoutPanel?
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать решение подкачки с помощью объекта dict в Python
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Позиция Wxpython Sizer
    Гость » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Гость
  • Как отключить кнопку после ее нажатия в wxpython?
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»