Created
August 16, 2023 08:12
-
-
Save Cyril-Pop/27bf9e5e5090361d1e3a1d7a13b57ad4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import clr | |
import sys | |
import System | |
clr.AddReference("System.Numerics") | |
# | |
clr.AddReference('System.Drawing') | |
clr.AddReference('System.Windows.Forms') | |
import System.Drawing | |
import System.Windows.Forms | |
from System.Drawing import * | |
from System.Windows.Forms import * | |
my_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments) | |
pf_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86) | |
import time | |
class MyForm(Form): | |
# | |
__namespace__ = f"MyForm_{int(time.time())}" | |
def __init__(self): | |
super().__init__() | |
self.htmlDf = """\ | |
<html> | |
<head> | |
<meta http-equiv="X-UA-Compatible" content="IE=9"> | |
<style> | |
table, th, td {font-size:10pt; border:1px solid black; border-collapse:collapse; text-align:left;} | |
th, td {padding: 5px;} | |
tr:nth-child(even) {background: #E0E0E0;} | |
tr:hover {background: silver; cursor: pointer;} | |
</style> | |
</head> | |
<body> | |
</body> | |
</html> | |
""" | |
self.InitializeComponent() | |
def InitializeComponent(self): | |
self._webBrowser1 = System.Windows.Forms.WebBrowser() | |
self.SuspendLayout() | |
# | |
# webBrowser1 | |
# | |
self._webBrowser1.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right | |
self._webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill | |
self._webBrowser1.Location = System.Drawing.Point(0, 0) | |
self._webBrowser1.ScriptErrorsSuppressed = True | |
self._webBrowser1.Name = "webBrowser1" | |
self._webBrowser1.Size = System.Drawing.Size(594, 528) | |
self._webBrowser1.TabIndex = 0 | |
self._webBrowser1.DocumentText = self.htmlDf | |
self._webBrowser1.DocumentCompleted += self.WebBrowser1DocumentCompleted | |
# | |
# Form27 | |
# | |
self.ClientSize = System.Drawing.Size(600, 540) | |
self.Controls.Add(self._webBrowser1) | |
self.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show | |
self.SizeChanged += self.FormSizeChanged | |
self.Name = "Form27" | |
self.Text = "PandasViewer" | |
def WebBrowser1DocumentCompleted(self, sender, e): | |
#self._webBrowser1.Size = self._webBrowser1.Document.Body.ScrollRectangle.Size | |
self._webBrowser1.Document.Body.ScrollIntoView(False) | |
def FormSizeChanged(self, sender, e): | |
self._webBrowser1.Size = System.Drawing.Size.Subtract(self.ClientSize, System.Drawing.Size(10, 10)) | |
self._webBrowser1.Document.Body.Width = self.ClientSize.Width - 10 | |
#@property | |
def get_HtmlText(self): | |
#print(self.htmlDf) | |
return self.htmlDf | |
#@HtmlText.setter | |
def set_HtmlText(self, value): | |
self.htmlDf = value | |
self._webBrowser1.Document.OpenNew(True) | |
self._webBrowser1.Document.Write(self.htmlDf) | |
self._webBrowser1.Refresh() | |
#self.Activate() | |
HtmlText = clr.clrproperty(str, get_HtmlText, set_HtmlText) | |
#if "viewerForm" not in dict(globals()): # get global variables | |
viewerForm = MyForm() | |
viewerForm.Show() | |
OUT = viewerForm |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment