Тема: GUI python

пайтон вивчаю 1.5 місяці, не бийте будь ласка =(
Подумав перейти з консолі на графічний інтерфейс.
Спочатку пробував модуль PySimpleGUI, щось не сподобалось.
Тому вирішив спробувати tkinter.
Ніби получаєтся але наткнувся еа проблему.
Коли наводжу на кнопку, вона змнює колір а також колір текста змінюєтся.
Це так і має бути чи я щось нетак зробив ?(

import tkinter as tk
import tkinter.font as tkFont

class App:

    def __init__(self, root):
        #вікно програми
        root.title("що?")
        width=400
        height=200
        screenwidth = root.winfo_screenwidth()
        screenheight = root.winfo_screenheight()
        alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
        root.geometry(alignstr)
        root.resizable(width=False, height=False)

        #кнопка
        Button=tk.Button(root)
        Button["bg"] = "#000000" #колір фону чорний
        ft = tkFont.Font(family='Times',size=20)
        Button["font"] = ft
        Button["fg"] = "#00FF00" #колір тексту зелений
        Button["justify"] = "center"
        Button["text"] = "click me :3"
        Button.place(x=100,y=50,width=200,height=100)
        Button["command"] = self.Button_command

    def Button_command(self):
        #шо робить кнопка
        print("ти нажав на кнопочку :3")

root = tk.Tk()
app = App(root)
root.mainloop()

коли наводжу на кнопку

Прихований текст

https://cdn.discordapp.com/attachments/840656084796833845/840964809318596628/unknown.png

2 Востаннє редагувалося Droid 77 (09.05.2021 18:51:39)

Re: GUI python

Так і повинно бути.
Приклад блакитної кнопки яка за подією Button Click нічого не робить:

Похідний код Button Blue
from tkinter import *   

tkWindow = Tk()  
tkWindow.geometry('400x150')  
tkWindow.title('Button Background Example')
  
button = Button(tkWindow, text = 'Submit', bg='blue', fg='white')  
button.pack()  
  
tkWindow.mainloop()
Подякували: "mamkin haker"1

3 Востаннє редагувалося "mamkin haker" (09.05.2021 18:57:58)

Re: GUI python

Зрозумів =(
а є якась інша бібліотека, яка GUI відображає?
Ато через CSS щось недуже хочется робити...

4 Востаннє редагувалося koala (09.05.2021 19:03:03)

Re: GUI python

Коли наводите чи коли натискаєте? Ніби activebackground не ставили.
У будь-якому разі - не користуйтеся конструкторами, доки не навчитеся робити інтерфейс руками. Ось вам список (англ) налаштувань кнопки.

Бібліотек для GUI в Python з десяток, от тільки GUI ніхто не вміє правильно робити, така халепа.
Ось чесно викрадений з Вікі списочок: PyGObject PyGTK Pyjs PyQt PySide Tkinter wxPython
А ось тутайки (англ) можете пошукати, що pip вміє завантажувати.

Подякували: "mamkin haker", leofun012

5

Re: GUI python

koala написав:

Коли наводите чи коли натискаєте? Ніби activebackground не ставили.
У будь-якому разі - не користуйтеся конструкторами, доки не навчитеся робити інтерфейс руками. Ось вам список налаштувань кнопки.

коли наводжу

6

Re: GUI python

Пан koala, чому не вказали що посилання англомовне, забули? ))

7

Re: GUI python

Droid 77 написав:

Пан koala, чому не вказали що посилання англомовне, забули? ))

Англійська мова є виключенням з правила :)

8

Re: GUI python

Все, дякую koala
Рішення:

#добавити 2 стрічки в кнопку
        Button["activebackground"] = "#000000"
        Button["activeforeground"] = "#00FF00"

9

Re: GUI python

Все гарно, окрім:

"mamkin haker" написав:
#добавити 2 стрічки в кнопку

Зазвичай пишуть не добавити, пишуть додати :)

Подякували: "mamkin haker"1

10 Востаннє редагувалося "mamkin haker" (09.05.2021 19:56:13)

Re: GUI python

Зазвичай пишуть не добавити, пишуть додати :)

А в даній ситуації, взагалі правильно "Дописати"
https://cdn.discordapp.com/attachments/840656084796833845/841010130199773184/unknown.png