Python-Treeview Tkinter, проблема с размытым / пиксельным отображением и индексом - PullRequest
0 голосов
/ 03 ноября 2019

Я создал код со многими кодами, которые я нашел в stackoverflow, и он прекрасно работает. Но у меня есть две проблемы.

Первая: я хочу удалить индекс с числами.

Вторая: данные очень размытые (пиксельные). Я использовал windll.shcore.SetProcessDpiAwareness(1), но моя проблема все еще здесь ... У вас есть идея, как решить мои две проблемы?

import pandas as pd
import numpy as np
import datetime
import os
from pandas.tseries.offsets import *
from pandas.tseries.offsets import BDay
from datetime import date
from tkinter import *
from tkinter import ttk
from tkinter import messagebox


class MyApp:
    def __init__(self):
        fichier_compta = "********.csv"
        df = pd.read_csv(fichier_compta)
        df = df.drop(df.columns[[0, 2]], axis='columns')
        df = df.fillna('')
        cols = list(df.columns)
        df.index.name = 'foo'
        self.window = Tk()
        self.window.title("Contrôle des valorisations")
        self.window.geometry("1080x600")
        self.window.minsize(480, 360)
        self.style = ttk.Style(self.window)
        #self.window.style.configure("Treeview", background="yellow", fieldbackground="white",highlightthickness=0, bd=0, foreground="black")
        self.window.config(background='Gray90')
        self.style.theme_use("winnative")
        # initialization des composants
        # creation des composants

        self.tree = ttk.Treeview(self.window, selectmode='browse')
        self.tree.pack(fill='both', expand=1)

        self.vsbb = ttk.Scrollbar(self.tree, orient="vertical",command=self.tree.yview)
        self.vsbb.pack(side='right', fill='y')

        self.vsb = ttk.Scrollbar(self.window, orient="horizontal",command=self.tree.xview)
        self.vsb.pack(side='bottom', fill='x')
        self.tree.configure(xscrollcommand=self.vsb.set)

        self.tree.configure(yscrollcommand=self.vsbb.set)

        self.create_widgets()

        self.tree["columns"] = cols
        print(cols)
        for i in cols:
            self.tree.column(i, anchor="w")
            self.tree.heading(i, text=i, anchor='w')
        for index, row in df.iterrows():
            self.tree.insert("",0,text=index,values=list(row))

        self.tree.column([1], width=100, stretch=True, minwidth=50)

    def create_widgets(self):
        self.button()
    def button(self):
        button_valider = Button(self.window, text="Envoyer Mail", font=("Arial",10), bg='White', fg='green')
        button_valider.pack(side='left',expand="no",pady=5,padx=15)
        button_refuser = Button(self.window, text="Refuser les datas", font=("Arial",10), bg='White', fg='red')
        button_refuser.pack(side='right',expand="no",pady=5,padx=15)


app = MyApp()
app.window.mainloop()

Вот как это выглядит:

This is how it looks:

...