Seite 1 von 1

Verfasst: Sonntag 24. September 2006, 16:04
von gerold
HWK hat geschrieben:Wie beim wx.grid.Grid kann der Anwender aber wieder eine Auswahl treffen. Anders als beim FlexGridSizer und wx.grid.Grid kann ich auch nicht automatisch ans Tabellenende scrollen.
Hi HWK!

Ich formuliere mal die Fragen dazu: ;-)
1.) Gibt es eine Einstellung, die beim ``wx.grid.Grid()`` den Benutzer daran hindert, den angezeigten Text mit der Maus zu markieren?
2.) Wie scrollt man beim ``wx.grid.Grid()`` an eine bestimmte Position?

Code: Alles auswählen

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-

import wx
import wx.html
from simpletal import simpleTAL, simpleTALES
from StringIO import StringIO


class MyFrame(wx.Frame):
   
    def __init__(self, parent = None, id = -1, title = "Einfache HTML-Tabelle"):
        wx.Frame.__init__(self, parent, id, title)
       
        html_window = wx.html.HtmlWindow(self, -1, style = wx.html.HW_NO_SELECTION)
       
        daten = [[ str(i) for i in range(888888, 888900) ]] * 20

        template_string = """
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
          <head>
            <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
          </head>
          <body bgcolor="#FFFFF2">
            <table border="0" cellspacing="3" cellpadding="2">
              <tr tal:repeat="zeile daten">
                <td bgcolor="#E9E9E9" nowrap
                    tal:repeat="zelle zeile" 
                    tal:content="zelle"
                >
                  [Wert]
                </td>
              </tr>
            </table>
          </body>
        </html>
        """
       
        context = simpleTALES.Context(allowPythonPath = True)
        context.addGlobal("daten", daten)
       
        template = simpleTAL.compileHTMLTemplate(template_string, "iso-8859-1")
        html_output = StringIO()
        template.expand(context, html_output, "iso-8859-1")
        
        html_window.SetPage(html_output.getvalue())
        
        self.Center()
        self.Show()
        
        html_window.Scroll(*html_window.GetVirtualSizeTuple())


def main():
    app = wx.PySimpleApp()
    f = MyFrame()
    app.MainLoop()
   

if __name__ == "__main__":
    main()
Man achte auf Zeile 15 und Zeile 52.

lg
Gerold
:-)

Verfasst: Sonntag 24. September 2006, 19:13
von HWK
Wirklich beeindruckend!
Wenn man sich damit auskennt, kann man ja allerhand mit HTML und Co. machen. Ich glaube, ich könnte mich auch mit dieser Form der Tabellendarstellung gut anfreunden.
Danke, Gerold!
HWK