Langsamer FlexGridSizer

Plattformunabhängige GUIs mit wxWidgets.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Sonntag 24. September 2006, 16:04

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Sonntag 24. September 2006, 19:13

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
Antworten