2017-08-28 1 views
0
  1. Ich setze den Bedingungsausdruck in {2}, {3} und versuche im Falle von Ture grün und im Falle von Falsch grün zu setzen. Ist es möglich, SetForegroundColour zur Darstellung von Farben zu verwenden? Wenn Sie es ausführen, wird es None sein. Brauchst du eine andere Methode?Wie wende ich Tag-Bedingungen an, wenn Sie wx.html2 verwenden?

  2. Ich versuchte auch background-image: url ('1.png');, um den Hintergrund zu spezifizieren, es ist ein weißer Hintergrund. Bei Verwendung von <img scr = 1.png /> innerhalb des body-Tags wird ein x-Bildfehler angezeigt.

- - Codierung: UTF-8 - -

import wx

import wx.html2

import sqlite3

class AppFrame(wx.Frame):  
    def __init__(self, parent):  
     super(AppFrame, self).__init__(parent)  
     self.html_view = wx.html2.WebView.New(self)  
     sizer = wx.BoxSizer(wx.VERTICAL)  
     sizer.Add(self.html_view, 1, wx.EXPAND)  
     self.SetSizer(sizer)  

if __name__ == '__main__':  
    i = 'test1'  
    j = 'test2'  
    k = ('True', 'False')  
    l = ('True(color Green)', 'False(color Red)', 'How??')  

    for loop1 in k: pass  
    if loop1 == 'True': a = print(k[0])  
    else: a = print(k[1])  

    app = wx.App()  
    frame = AppFrame(None)  
    frame.html_view.SetPage("""  
<!doctype html>  
<html lang="ko">  
    <head>  
    <meta charset="utf-8">  
    <title>HTML TEST</title>  
    <style>  
     table{{  
     width: 100%;  
     border-collapse: collapse  
     }}  
     table, th, td{{  
     border: 2px solid #bcbcbc;  
     text-align: center;  
     }}  
     body{{  
     background-image:url('1.png');  
     background-position: conter conter;  
     background-color:gold;  
     }}  
    </style>  
    </head>  
    <body>  
    <table>  
     <caption><h1>Hello world!<h1></caption>  
     <thead>  
     <tr>   
      <th>{0}</th>  
      <th>{1}</th>  
      <th>Ipsum</th>  
      <th>Ipsum</th>  
      <th>Ipsum</th>  
      <th>Ipsum</th>  
     </tr>  
     </thead>  
     <tbody>  
     <tr>   
      <td>{2}</td>  
      <td>{3}</td>  
      <td>Dolor</td>  
      <td>Dolor</td>  
      <td>Dolor</td>  
      <td>Dolor</td>  
     </tr>  
     </tbody>  
     <tfoot>  
     <tr>  
      <td colspan="6">Table Foot</td>  
     </tr>  
     </tfoot>  
    </table>  
    <script>  
     if({0} == 'True'){{  
      ???  
     }}  
     else{{  
      ???  
     }}  
    </script>  
    </body>  
</html>  
""".format(i, j, a, l), "")  
    frame.Show(True)  
    app.MainLoop() 

enter image description here

Antwort

1

Es war ein bisschen schwer zu verstehen, was Sie wollen, aber hier ist das einfachste Beispiel der bedingten Hintergrund Änderung des HTML-Elements mit .format. Es wird empfohlen, das Beispiel für Python 3 zu ändern. Das CSS-Snippet background-color kann für jedes Element verwendet werden, das es unterstützt, z. B. Ihre <th></th> Elemente. Wenn Sie die Textfarbe ändern möchten, verwenden Sie einfach die color. Gleiches kann in Ihnen <style> Abschnitt des HTML-Codes angewendet werden.

import wx 
import wx.html2 
class AppFrame(wx.Frame): 
    def __init__(self, parent): 
     super(AppFrame, self).__init__(parent) 
     self.html_view = wx.html2.WebView.New(self) 
     sizer = wx.BoxSizer(wx.VERTICAL) 
     sizer.Add(self.html_view, 1, wx.EXPAND) 
     self.SetSizer(sizer) 

if __name__ == '__main__': 

    Test = True 

    if Test == True: 
     color = 'Green' 
    else: 
     color = 'Red' 

    app = wx.App() 
    frame = AppFrame(None) 
    frame.html_view.SetPage(""" 
      <!doctype html> 
      <html lang="ko"> 
       <head> 
       <meta charset="utf-8"> 
       <title>HTML TEST</title> 
       <style> 
        body{{ 
        background-position: conter conter; 
        background-color:gold; 
        }} 
       </style> 
       </head> 
       <body> 
       <p>Normal text</p> 
       </br> 
       <p style="background-color:{0}">Conditionally changed background for Test={1}</p> 
       </br> 
       </body> 
      </html>""".format(color, Test), "") 
    frame.Show(True) 
    app.MainLoop() 

Conditionally changed background Test=True

+0

habe ich viel gelernt in der Antwort Danke. Eine weitere Sache, die ich wissen möchte, ist, dass, wenn Sie 'showfullscreen' verwenden, alle Bildlaufleisten in' html' gelöscht werden, die rechte Bildlaufleiste jedoch in 'html2' aktiv ist. Kann nicht löschen? Ich habe dem Hintergrund ein '1.png' Bild gegeben, aber ich möchte wissen, ob es in' html2' funktioniert. Das Betriebssystem ist Windows. –

+0

Das Problem, das Sie beschreiben, ist ziemlich spezifisch für den HTML-Code, den Sie schreiben, und das Endziel Ihrer App. Betriebssystem sollte nicht das Problem sein. Versuchen Sie, mit dem 'body {overflow: hidden}' CSS-Snippet zu experimentieren. https://Stackoverflow.com/a/3296701/1771956 – Domagoj

Verwandte Themen