PySimpleGUI / PySimpleGUI/PySimpleGUI

Resizing a button - second attempt

Aperta
#1,984 19 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

enhancement
Lingua principale
Python
Stelle
13.8k
Fork
1.8k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Type of Issues (Enhancement, Error, Bug, Question)

Question

Operating System

Linux - Mint18

Python version

3.6

PySimpleGUI Port and Version

4.1.0 - tkiner

Your Experience Levels In Months or Years

7_____ Python programming experience
15___ Programming experience overall
_yes Have used another Python GUI Framework (tkiner, Qt, etc) previously (yes/no is fine)?

You have completed these steps:
  • [ x] Read instructions on how to file an Issue
  • [ x] Searched through main docs http://www.PySimpleGUI.org for your problem
  • [ x] Searched through the readme for your specific port if not PySimpleGUI (Qt, WX, Remi)
  • [ x] Looked for Demo Programs that are similar to your goal http://www.PySimpleGUI.com
  • [ x] Note that there are also Demo Programs under each port on GitHub
  • [ x] Run your program outside of your debugger (from a command line)
  • [ x] Searched through Issues (open and closed) to see if already reported
Code or partial code causing the problem

I'm not into graphics much so maybe I have done something wrong. I created an image using Libreoffice Draw and saved it as a .png file. As you can see from the attached code the button is the size I want but the text is pushed down into the lower right corner. In the image it is centered.

import PySimpleGUI as sg
from PySimpleGUI import InputCombo, Combo, Multiline, ML, MLine, Checkbox, CB, Check, Button, B, Btn, \
    ButtonMenu, Canvas, Column, Col, Combo, Frame, Graph, Image, InputText, Input, In, Listbox, LBox,  \
    Menu, Multiline, ML, MLine, OptionMenu, Output, Pane, ProgressBar,  Radio, Slider, Spin, StatusBar, \
    Tab, TabGroup, Table, Text, Txt, T, Tree, TreeData,  VerticalSeparator, Window, Sizer

sg.change_look_and_feel('GreenTan')

copy2 = b'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'

col2 = Column([[Frame('Accounts:', [[Column([[Listbox(values=('test1', 'test2',
              'test3'), size=(50, 22), pad=(0, 0)), ]], size=(260, 404),
              pad=(0, 0))]], element_justification='center')]], pad=(0, 0))

col1 = Column([
    # Categories frame
    [Frame('Categories:', [[Radio('Websites', 'radio1', default=True,
     size=(9, 1)), Radio('Software', 'radio1', size=(8, 1))]],)],
    # Information frame
    [Frame(layout=[[Column([[Text('Account:', pad=(0, 0))],
                      [Input(size=(20, 1), pad=(0, 0))],
                      [Text('User Id:', pad=(0, 0))],
                      [Input(size=(20, 1), pad=(0, 0)), Button('', # 'Copy',
                            image_data=copy2,
                            # image_filename='copy4.png',
                            image_size=(50, 20),
                            # image_subsample=2,
                            # button_color=sg.TRANSPARENT_BUTTON,
                            key='-USERID-')],
                      [Text('Password:', pad=(0, 0))],
                      [Input(size=(20, 1), pad=(0, 0)), Button('Copy', key='-PASS-', font=('courier', 6))],
                      [Text('Location:', pad=(0, 0))],
                      [Input(size=(20, 1), pad=(0, 0)), Button('Copy', key='-LOC', font=('courier', 6))],
                      [Text('Notes:', pad=(0, 0))],
                      [Multiline(size=(18, 6))],
                      ], size=(200, 350), pad=(0, 0))]], title='Information:')], ], pad=(0, 0))

layout = [[col1, col2],
    # Actions Frame
    [Frame('Actions:', [[Column([[Button('Save'), Button('Clear'), Button('Delete'),
        ]], size=(524, 45), pad=(0,0))]])]]

# Position at top left side corner on right hand monitor
window = Window('Passwords', layout,location=(1924, 0))

while True:
    event, values = window.read()
    print(event, values)
    if event is None:
        break
window.close()

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Riproduci lo script fornito con Python 3.6, PySimpleGUI 4.1.0 e il port tkinter su Linux Mint 18. Inizia isolando il Button basato su un’immagine usando i dati dell’immagine forniti e determina se il posizionamento del testo corrisponde al comportamento riportato; il lavoro è completato quando il pulsante mantiene la dimensione richiesta e la sua etichetta è centrata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
python
Ambito
desktop
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.