PySimpleGUI / PySimpleGUI/PySimpleGUI
Resizing a button - second attempt
Nessuno ha ancora preso questa issue.
- 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'iVBORw0KGgoAAAANSUhEUgAAADIAAAAiCAYAAAFq7rq8AAAACXBIWXMAAA7GAAAOxgHq1c2SAAAJyUlEQVR4nM1YC3AV1Rn+9t6994YQMZBkTKEBykMIb6cpsZlp6oxQwNopI48OBcGCWnEQQysPnbY6tYVGhVFnqq2jUF4iMIyKhCZNgPByAoECggQIjYRHBAETyGDuY3dPz3/2nN29m1xoO3SGc+Zk7z7O//j+54mOJ8GQYuji7wS+DEAzNATNIDRTQ6IyIV+aQJiFEYxMx5He/8SAQ4fcnRErAtMwkYi+hwGH7Y+dl7HNsRQ8UwikY5IrSMAMQDd0lPQs4S843S58hbggwzUDbxWuwYqmA9BDLISopaHViGMH35m/ezIW9FkAPfFhoh390upSyXwyELAC0GDzYYzBMAxoTLNVIPEs4MW+L+Klv7xkq0MgGJYB0zLF0jhbWupjtdqMNheDOJeLHpYM34eu5yfievdNyLv0GD4+X4dqzmnpuBNYtGUogizobirqXCREqa3/FafeEzg1D7UsG1pGMYo5sQ/3Po6Cuwswp88cLOYzJaCphr5q4SpMb5gOnemCEzMZmMVgWZatB5O25L8jZZ2ht5gt4iEBoBQVyvNriE+6MpocSUJVDyIoqIsNfKOAltmUE1YiCbEQiWQyU3ycl7cf588UIr/vZ2io/x5+evfT2NCykX/yDUaFmlEVZRIpSe1c40hcGXMVOVuzcWFME3pxK8M4LyhXmzoi8EBLOJO83yrPFZt7lHV3xKJhmIaQIo1/o0/NmYr1l9a7FpZX0o0ICU8wTfH8II5Az3o+6z83QkRGwqzCWfhF4UwO2u0bn/6rBgs/mQ8rYNl6jygegQcafyiMbMJ09HXUkots53+WalGcRRKd0RZptZmIMJL2VivAAghodogRZuQHFrMEI7rS9w5TpGAmh+58YLkPERiEg/164r66SlSMbsDYqvGo6Z+N++u2YcXoLzF79xL8IPYGqo0cXCgYjNVdV+G3Fd/B8h8fxqwt3xVCBKWLOExIorAWtuOBj/QuJSipn82ltzCl5ilkZM7D7JMzhDDzDu9A34AS7DJ67K8WUfvKuDo8ujnf0YIcPIkJQRI3484HrVd/iV3yd3NzOb+W45gW4rBZaL04DSc5dPU8CemQ8PE5v2ygHYde6JLg8rzwxqB3JVjipkZX+0JcGGLKLZrM5NmlJQgb6cLYt2MQlWVVbyARjkom/2WC+1+GSChVT1ehU6jTbSX8wLIHkQhGyaugF/ctxqiro+w3twiwVPYiO1Ag0yJbkDPMHPEk3jn6Z/6aIp5pt2SgS/8IakFBgLI3xYKY/Bq34nZgwnVdTS4GaXhKpbSBiJA701u6KiI8mQotKFM6AnmCVzBIEe1QTIR7UgD5iUhxnCIMHxE/bHySlpSO2jHpcCNsRl47iBhgtsb2p3bRszQJG4u7AdkRE29CfL7oK6yuycWNjDn4o7YSXw2px1s7s9CaPgnrM3cjd9ASFPx9GsbcdwZ7D0/E2zlnMOPKSPw+vRq/+fqbjuGiZEYGI2nAM+6z0an4g5GA1vw6nuLtUlPrZPyOJGx9H1nFlbzmXRKE7goGeBN0AKt7nMbREdsxeMtWR+N2TJxkJmAx0dZlPIepQjAsinDtMkfz39tBnpjXth2XQkOFYJv39+N4hlF9+OcoSz/uCCtsnNImBBuf/fesxVle6UPRPei/YxL67CpH47iLvNk7insrRmPnQ2vsmuwUuARHwbDvFT0/E13kUzujkiTx2B70LM9y3TS2E7225jqbC8qmJTuJcQiLmpOFbcfEqYqaL6p9Wvo1JnhExuUOIyqnlIr5uOjeGyceVKpgzPF7QUQTzRo3jV2ubUeRNvUGqF+Tcy1nsfLelVh+cbnIPTTEJm859jcWXg392vLRL70fTp9ocF7rX3z9BWb96QneEIZxuwY1Z0Ygzp3TllQnOxjBuFj/r+EWLfFXk/POHUpY4VweQYVzDes+HDue2Y7ZjbNRfq3cdZbk3e1tLQc5IvX9lDdpr+if+aSkbPAYDfNJuZPCke6d72WCUAeLW/GacM8ElA4sxdwVv8ZHxzchoceEozuKZEYysfbqWmxq3iQIK8YRLYKYFRMCUTZSglAYqgjpUFl4QpqPG3yqPUTjBrvhKqvZtAVPXl/9vJSyNFZdWIXcSC66RbohaHGQEHfCPincVVmMw24lYyzmdHUkCNVgXfMw0LggzGasUKb3REcIBBd1WoQ60RApQmZWVZIVT9ojeHEe4tQH14IEbKrhKKJaSr/5FaqWfcAU79oJAvsqGg1mukpJWtTIk4XTtDRErah9z9EXoFgeC0uL+pVWyipgb6qIyNbMRl2g6fF5JZgyu0LZax2vIIqxEoSUoGuURZ17gTpXwu9CypJKWYe3vHp7+A4VIQZKGCLUkfmtcBGey38Fc7J6gs4lQeMzbKifi0UXjiPGBdHCxZg/uBRPZOchTdTK4/io/jksbDwEo/M8fDr6NfSKfslP9hoHSce1lr9ibm0pmnrXoCL7dYzcswYXBK8gsvM2Yv+AfRhTtRin4LqtlVR9OnIt2e6pAHfMLxHL6Pou6oa1YPyuQrwmGwWNM7wrLZcHLj/7Za3GqaH1+FH1SCwxlbsG0SVnDU4+eBJja5phtX2ARyqnYq9hWzYrtwwniqagYEcR8i+/igNj78esyheAIbV4h81E/j/2olV2KF63vrlrySyk/FCYn8mgC0SQmTEMnW68jNP8M8owdqbR0drWxPFKR68ug6Bd/xvOmPAEuIHr1ypxNu1n6BfYikDaJKwbVcizFkQENF1ehlE730MjHTWuzMPA7RPx8cNnYdUOwLBzV0h8x6VUJvX31+1dy7PJ6ValGQ1uofPnHsWSb9fg4NA5ePjYOpw0guic+Qw2j3wcx2sLsejMDLzZYxt2D5mJn3y+GZcQgZ7xCN7+/ss4d6gAlcYUvBDdgGmVj2FbwkiqPdSs0tTi9ajjrme1XuNAmU4W82Y1JxZTKUJZIinA4cnvHIkQa8CyPd3wpnA1xr+jk/1SjK1YKs19BIurs7HYMX0M8evrMKN8nbxfxvtNCRjRNiUvnqqVG4etz7GgLN9u0+lcJ7OaU0s66EnbKSLObp4WUKVVQoLSKmUgJ7/DZqCUFXHFYk6aVQIk1RxPBRcow+VFSgheMrv565KgobmZ8taupaqq5tYSLyLC/MyT35Gc35X5xV4ku6mwLNxuIRwIi//hCFBgONZRiIvjIPGiAwDcDKruUyrSO9LbreCWXcS8NcMfdP6il2R+jyVVe+HvFkgJxSsUkPVJc3s0wasDC+eEc3CNNXasyO6GXbjnk1x8MGwDZx64o7vfXfv2Ym3t+zDCiaTjlf2vOt5Bbjy2HhuPbpBK3MmqcHk7yaj3t/HO0JSOKVLDHTz+DWu5VY+gtccDAAAAAElFTkSuQmCC'
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- 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