[ad_1]

వినియోగదారు ఇంటర్‌ఫేస్ రూపకల్పన విషయానికి వస్తే, మంచి రంగు పథకం అవసరం. చక్కగా రూపొందించబడిన రంగు పథకం అద్భుతంగా కనిపించడమే కాకుండా ఇంటర్‌ఫేస్‌ను మరింత స్పష్టమైన మరియు వినియోగదారు-స్నేహపూర్వకంగా చేయడం ద్వారా వినియోగదారు అనుభవాన్ని మెరుగుపరుస్తుంది. అత్యంత జనాదరణ పొందిన రంగు పథకాలలో ఒకటి డార్క్ మోడ్, ఇది కళ్ళకు సులభంగా ఉంటుంది మరియు కంటి ఒత్తిడిని తగ్గిస్తుంది. ఈ ట్యుటోరియల్‌లో, మీరు పైథాన్ GUI లైబ్రరీ Tkinterలో మీ స్వంత డార్క్ థీమ్‌ను ఎలా సృష్టించవచ్చో మేము మీకు చూపుతాము.


బేస్ అప్లికేషన్‌ను రూపొందించడం

మేము మా డార్క్ థీమ్‌ని రూపొందించడానికి ముందు, Tkinterని ఉపయోగించి ప్రాథమిక అప్లికేషన్‌ను క్రియేట్ చేద్దాం. అప్లికేషన్‌లో లేబుల్, బటన్, ఎంట్రీ ఫీల్డ్, చెక్ బటన్ మరియు కాంబో బాక్స్ ఉంటాయి. వీటికి మొత్తం ప్రయోజనం ఏమీ లేదు, అవి ఇక్కడ మాత్రమే ఉన్నాయి కాబట్టి మనం మన డార్క్ మోడ్‌ని సృష్టించినప్పుడు వాటి లుక్ ఎలా మారుతుందో చూడవచ్చు.

import tkinter as tk
from tkinter import ttk

class Application(ttk.Frame):
    def __init__(self, master=None):
        super().__init__(master, style="Dark.TFrame")
        self.master = master
        self.pack(expand = True, fill = tk.BOTH)
        self.create_widgets()

    def create_widgets(self):
        self.label = ttk.Label(self, text="Hello, dark world!")
        self.label.pack(padx=10, pady=10)

        self.button = ttk.Button(self, text="Click me!", 
                                 command=self.on_click)
        self.button.pack(padx=10, pady=10)

        self.entry = ttk.Entry(self, width=20)
        self.entry.pack(padx=10, pady=10)

        self.checkbutton_var = tk.BooleanVar(value=True)
        self.checkbutton = ttk.Checkbutton(self, text="Check me!", 
                                           variable=self.checkbutton_var)
        self.checkbutton.pack(padx=10, pady=10)

        self.combobox = ttk.Combobox(self, values=["Option 1", "Option 2", "Option 3"])
        self.combobox.pack(padx=10, pady=10)

    def on_click(self):
        self.label.configure(text="Button clicked!")

root = tk.Tk()
root.title("Dark Mode Tkinter Application")
root.geometry("300x300")

app = Application(master=root)
app.mainloop()

ఇది మాకు క్రింది అవుట్‌పుట్‌ని ఇస్తుంది.


స్టైల్స్ పరిచయం

Tkinter లైబ్రరీలో శైలులు ముఖ్యమైన అంశం. ఒకటి లేదా అంతకంటే ఎక్కువ విడ్జెట్‌లకు వర్తించే దృశ్య లక్షణాల సమితిని నిర్వచించడానికి అవి మమ్మల్ని అనుమతిస్తాయి. మేము ఒక విడ్జెట్‌ను సృష్టించినప్పుడు, దాని రూపాన్ని నిర్ణయించే శైలిని మేము పేర్కొనవచ్చు.

అయినప్పటికీ, tkinter వాస్తవానికి డిఫాల్ట్‌గా ఈ శైలులను అందించదు. ఇవి tkinterలోని సబ్‌మాడ్యూల్‌లో భాగంగా పరిచయం చేయబడ్డాయి, దీనిని “ttk” అని పిలుస్తారు. ttk శైలులు గ్రేడియంట్ నేపథ్యాలు, థీమ్‌లు మరియు ఇతర అధునాతన విజువల్ ఎఫెక్ట్‌లతో సహా విస్తృతమైన అనుకూలీకరణలను అందిస్తాయి. ఈ లైబ్రరీ డిఫాల్ట్‌గా tkinterలో చేర్చబడింది, కాబట్టి దేనినీ ఇన్‌స్టాల్ చేయవలసిన అవసరం లేదు.

ఈ ట్యుటోరియల్‌లో, మేము ఉంటాము ttk శైలులను ఉపయోగించడం Tkinterలో మా స్వంత డార్క్ థీమ్‌ని సృష్టించడం కోసం. మేము మా విడ్జెట్‌లకు చీకటి మరియు సొగసైన రూపాన్ని అందించడానికి వాటికి వర్తింపజేసే విజువల్ ప్రాపర్టీల సెట్‌ను నిర్వచిస్తాము.

Tkinterలో ttk శైలులను ఉపయోగించడానికి, మీరు ముందుగా aని సృష్టించాలి ttk.Style() వస్తువు. మీరు స్టైల్ ఆబ్జెక్ట్‌ను కలిగి ఉన్న తర్వాత, మీరు కాన్ఫిగరేషన్ ఎంపికల నిఘంటువుని ఉపయోగించి మీ స్టైల్‌లను నిర్వచించవచ్చు, ఇక్కడ కీలు విడ్జెట్ తరగతిని సూచిస్తాయి మరియు విలువలు ఆ విడ్జెట్ కోసం కాన్ఫిగరేషన్ ఎంపికల నిఘంటువులు.

ఉదాహరణకు, అన్ని విడ్జెట్‌ల నేపథ్యం మరియు ముందుభాగం రంగులను వరుసగా నలుపు మరియు తెలుపులకు మార్చడానికి, మీరు క్రింది కోడ్‌ను ఉపయోగించవచ్చు:

style = ttk.Style()
style.configure(".", background="black", foreground="white")

కాన్ఫిగర్ పద్ధతిలో మొదటి పరామితి మీరు శైలులను మార్చాలనుకుంటున్న విడ్జెట్ పేరు. ఒక “.” మీరు అన్ని విడ్జెట్‌లకు ఈ శైలులను వర్తింపజేయాలనుకుంటున్నారని అర్థం. మీరు ప్రతి విడ్జెట్ కోసం వ్యక్తిగతంగా కూడా దీన్ని చేయవచ్చు. ప్రతి విడ్జెట్ కోసం Tkinterలో డిఫాల్ట్ స్టైల్స్ ఉన్నాయి. ఈ శైలులలో ప్రతిదానికి ఒక పేరు ఉంది, దీనిని మనం మొదటి పారామీటర్‌లో ఉపయోగించాలి configure() పద్ధతి.

శైలి పేరును గుర్తించడం చాలా సులభం. విడ్జెట్ పేరును తీసుకుని, దాని ముందు “T”ని జత చేయండి. కాబట్టి ఉదాహరణకు, మేము లేబుల్ శైలిని మార్చాలనుకుంటే, మేము ఇలా చేస్తాము:

style.configure("TLabel", font=("Arial", 12, "bold"), foreground="red")

ఇది ttk స్టైల్స్‌పై మా ప్రాథమిక ట్యుటోరియల్‌ని ముగించింది. ఈ స్టైల్‌లను ఉపయోగించి డార్క్ థీమ్‌ను అభివృద్ధి చేయడానికి ముందుకు వెళ్దాం.


Tkinterలో డార్క్ థీమ్‌ను సృష్టిస్తోంది

“థీమ్” సృష్టిస్తోంది స్టైల్‌లను ఉపయోగించడం కంటే కొంచెం భిన్నంగా ఉంటుంది. ఇది ప్రాథమికంగా మరింత అధునాతన వెర్షన్. ఒక థీమ్ అన్ని విడ్జెట్‌ల రూపాన్ని మరియు రూపాన్ని నిర్వచించే స్టైల్‌ల సేకరణను కలిగి ఉంటుంది. మేము ఇప్పుడు Tkinter (ttkని ఉపయోగించి)లో “థీమ్”ని సృష్టిస్తాము.

మీరు సులభంగా అర్థం చేసుకోవడంలో కొన్ని శైలులను నిర్వచించడం ద్వారా మేము చిన్నగా ప్రారంభిస్తాము. దిగువ థీమ్‌లో గ్లోబల్ స్టైల్స్ (అన్నింటికి వర్తించేవి), లేబుల్ స్టైల్స్ మరియు బటన్ స్టైల్స్ ఉన్నాయి. మేము ఇప్పటివరకు చేసినదల్లా నేపథ్యం మరియు ముందుభాగం రంగులను మార్చడం (ముందుభాగం సాధారణంగా టెక్స్ట్ రంగు).

dark_theme = 
    ".":  
        "configure": 
            "background": "#2d2d2d",  # Dark grey background
            "foreground": "white",    # White text
        
    ,
    "TLabel": 
        "configure": 
            "foreground": "white",    # White text
        
    ,
    "TButton": 
        "configure": 
            "background": "#3c3f41",  # Dark blue-grey button
            "foreground": "white",    # White text
        
    ,

అయితే, ఇది సాంకేతికంగా థీమ్ కాదు. ఇది కేవలం నిఘంటువు మాత్రమే. థీమ్‌ని సృష్టించడానికి, మనం ఉపయోగించాలి theme_create() పని చేసి, పై నిఘంటువుని దానిలోకి పంపండి settings పారామితులు.

style = ttk.Style()
style.theme_create('dark', parent="clam", settings=dark_theme)
style.theme_use('dark')

మనం కూడా ఉపయోగించాలి theme_use() వాస్తవానికి డిఫాల్ట్ థీమ్ నుండి మేము ఇప్పుడే సృష్టించిన కొత్త థీమ్‌కి మారే పద్ధతి.

మీరు గమనించే మరో ఆసక్తికరమైన విషయం ఏమిటంటే, మనకు ఒక పరామితి ఉంది parent="clam", క్లామ్ అనేది టికింటర్‌లో అందుబాటులో ఉన్న మరొక ప్రీబిల్ట్ థీమ్ పేరు. స్టైల్‌లను మార్చేటప్పుడు Windows మరియు MacOSలో డిఫాల్ట్ థీమ్‌తో సంభవించే కొన్ని సమస్యల కారణంగా నేను ఈ థీమ్‌ను పేరెంట్ థీమ్‌గా చేసాను. పేరెంట్ థీమ్‌ను కలిగి ఉండటం అంటే అన్ని శైలులు ఆ పేరెంట్ థీమ్ నుండి వారసత్వంగా పొందబడతాయి, కానీ పిల్లల థీమ్‌లో నిర్వచించబడితే భర్తీ చేయబడతాయి.

మేము ఇప్పటివరకు నిర్వచించిన స్టైల్స్‌తో మా అప్లికేషన్ ప్రస్తుతం ఎలా ఉందో చూద్దాం.

మీరు గమనిస్తే, ఇక్కడ కొన్ని సమస్యలు ఉన్నాయి. అప్లికేషన్ యొక్క నేపథ్యం సరైన రంగు, మరియు అదే లేబుల్ మరియు బటన్ కోసం వర్తిస్తుంది. కానీ కాంబో-బాక్స్ మరియు ఎంట్రీ విడ్జెట్‌లో కొన్ని సమస్యలు ఉన్నాయి. ఈ విడ్జెట్‌ల నేపథ్యాలు తెలుపు రంగులో కాకుండా “బూడిద”గా ఉండాలి. రెండవది, కాంబోబాక్స్ కోసం డ్రాప్‌డౌన్ మెను కూడా తెలుపు వచనంతో “బూడిద”గా ఉండాలి. కాంబోబాక్స్‌లోని బాణం నలుపు రంగులో కాకుండా తెల్లగా ఉండాలి.

మనం చేయాల్సిన చిన్న చిన్న మార్పులు ఇవి. మేము స్టైల్‌లను పాక్షికంగా పరిచయం చేసాము కాబట్టి మీకు ఎలాంటి సమస్యలు తలెత్తవచ్చు మరియు ఏమి మార్చాలి అనే ఆలోచన ఉంటుంది.


మా డార్క్ థీమ్‌ను ఖరారు చేస్తోంది

మేము ఇప్పుడు ఈ సమస్యలన్నింటినీ సరిచేసే పూర్తి కోడ్‌ను ప్రదర్శిస్తాము.

import tkinter as tk
from tkinter import ttk

class Application(ttk.Frame):
    def __init__(self, master=None):
        super().__init__(master, style="Dark.TFrame")
        self.master = master
        self.pack(expand = True, fill = tk.BOTH)
        self.create_widgets()

    def create_widgets(self):
        self.label = ttk.Label(self, text="Hello, dark world!")
        self.label.pack(padx=10, pady=10)

        self.button = ttk.Button(self, text="Click me!", 
                                 command=self.on_click)
        self.button.pack(padx=10, pady=10)

        self.entry = ttk.Entry(self, width=20)
        self.entry.pack(padx=10, pady=10)

        self.checkbutton_var = tk.BooleanVar(value=True)
        self.checkbutton = ttk.Checkbutton(self, text="Check me!", 
                                           variable=self.checkbutton_var)
        self.checkbutton.pack(padx=10, pady=10)

        self.combobox = ttk.Combobox(self, values=["Option 1", "Option 2", "Option 3"])
        self.combobox.pack(padx=10, pady=10)

    def on_click(self):
        self.label.configure(text="Button clicked!")


root = tk.Tk()
root.title("Dark Mode Tkinter Application")
root.geometry("300x300")

dark_theme = 
    ".":  
        "configure": 
            "background": "#2d2d2d",  # Dark grey background
            "foreground": "white",    # White text
        
    ,
    "TLabel": 
        "configure": 
            "foreground": "white",    # White text
        
    ,
    "TButton": 
        "configure": 
            "background": "#3c3f41",  # Dark blue-grey button
            "foreground": "white",    # White text
        
    ,
    "TEntry": 
        "configure": 
            "background": "#2d2d2d",  # Dark grey background
            "foreground": "white",    # White text
            "fieldbackground" : "#4d4d4d",
            "insertcolor": "white",
            "bordercolor" : "black",
            "lightcolor" : "#4d4d4d",
            "darkcolor" : "black",
        
    ,
    "TCheckbutton": 
        "configure": 
            "foreground": "white",    # White text
            "indicatorbackground" : "white", 
            "indicatorforeground" : "black",
        
    ,
    "TCombobox": 
        "configure": 
            "background": "#2d2d2d",  # Dark grey background
            "foreground": "white",    # White text
            "fieldbackground" : "#4d4d4d",
            "insertcolor": "white",
            "bordercolor" : "black",
            "lightcolor" : "#4d4d4d",
            "darkcolor" : "black",
            "arrowcolor" : "white"
        ,
    ,


root.option_add("*TCombobox*Listbox*Background", "black")
root.option_add("*TCombobox*Listbox*Foreground", "white")

style = ttk.Style()
style.theme_create('dark', parent="clam", settings=dark_theme)
style.theme_use('dark')

app = Application(master=root)
app.mainloop()

ఇది మాకు క్రింది అవుట్‌పుట్‌ని ఇస్తుంది.

Tkinterలో మీ స్వంత డార్క్ థీమ్‌ను సృష్టిస్తోంది

మీరు చూడగలిగినట్లుగా, ఇది చాలా మెరుగ్గా కనిపిస్తుంది. ఉదాహరణకు కాంబోబాక్స్ చేసినట్లే చిన్నపాటి ట్వీక్‌లు అవసరమయ్యే ఇతర విడ్జెట్‌లు ఉన్నందున ఇది ఇప్పటికీ పూర్తి అమలు కాదు. కానీ మీరు మీ డార్క్ థీమ్‌ను రూపొందించాలనుకుంటే ఇది మంచి ప్రారంభం. ఇక్కడ ఒక వెబ్‌సైట్ లింక్ ఉంది సాధ్యమయ్యే అన్ని శైలులను కలిగి ఉంటుందిమరియు వాటిని ఎలా అనుకూలీకరించాలనే దానిపై కొన్ని మార్గదర్శకాలు.


ఇది “టికింటర్‌తో మీ స్వంత డార్క్ థీమ్‌ను సృష్టించడం” ట్యుటోరియల్ ముగింపును సూచిస్తుంది. CodersLegacy కోసం ఏవైనా సూచనలు లేదా సహకారాలు స్వాగతం కంటే ఎక్కువ. ట్యుటోరియల్ కంటెంట్‌కు సంబంధించిన ప్రశ్నలను దిగువ వ్యాఖ్యల విభాగంలో అడగవచ్చు.



[ad_2]

Source link

Leave a Reply

Your email address will not be published. Required fields are marked *