Полагаю, вы хотите установить размер кнопки в пикселях. Размер кнопки по умолчанию равен символам, когда кнопка отображает текст, но не изображение. Чтобы получить размер в пикселях, вы должны отобразить изображение в кнопке. См. Пример ниже:
import tkinter as tk
win = tk.Tk()
win.geometry("660x450")
win.resizable(False, False)
def click_me():
button.configure(text="** I have been clicked")
# Create a transparent image to allow Button size in pixels
pixel = tk.PhotoImage(file='images/pixel.png')
button = tk.Button(win, text="Click me!", command=click_me,
image=pixel, compound='center')
button.grid(column=1, row=0)
button.config(width=100, height=100) # Config size in pixels
win.mainloop()
Изображение pixel.png
имеет размер 1x1 пикселей и прозрачный цвет.
Если это "должен" быть Настольный QT использования. Ничто не бьет его прямо сейчас.
Однако лично я разочаровался в рабочем столе и любом основанном на UI проекте, который я делаю обычно базирующийся Браузер/Сервер. Можно легко записать немного пользовательского сервера, который слушает некоторый порт, таким образом, программа может работать локально без потребности в пользователях установить Apache или иметь доступ к сети. У меня есть небольшой Lua, Python и платформа C++, которую я сделал с этой целью (Хотите добавить JavaScript для бэкенда с V8 :)
Если Вы собираетесь посмотреть на QT и WxWidgets, не забывайте также проверять GTK + !
Если Вы знаете C или C++ первая кросс-платформенная платформа GUI, я могу думать:
, Если Вы знаете Паскаля, можно попробовать freepascal + Lazarus. Я никогда не использовал его, все же.
WxWindows? О, это назвало WxWidgets теперь: http://www.wxwidgets.org/
wxWidgets имеет привязку ко всем видам языков - Python, например, если Ваше приложение является достаточно небольшим.
Вы хотите разработать межплатформенную программу исходно? Мм... Я не думаю, что это будет работать, главным образом потому что та фраза является парадоксом. При написании собственного кода он по его самому характеру будет только работать на платформе, для которой Вы запрограммировали его.;-) Это - то, о чем Платформы - все.
Поэтому то, что необходимо сделать вместо этого, является использованием очень тонкая платформа, если программа будет настолько маленькой. идея itsmatt QT является возможностью.
Проблема: Если Вы не хотите иметь GUI, но Вы не хотите просить, чтобы пользователь для загрузки вечного API, Платформы или виртуальной машины для выполнения его в, был им TCL/TK, Java или QT и т.д. затем, Вы заблудились довольно быстро.
причина: необходимо было бы восстановить весь (GUI) функциональность, которой те API, платформы и виртуальные машины обеспечивают Вам быть независимыми от платформы. И это - большая работа, чтобы сделать....
С другой стороны: виртуальная машина Java установлена почти в какой-либо операционной системе с нуля, почему бы не дать этому выстрел?
Как насчет использования Python Qt или Wx и затем использование PythonToExe для создания 'распространяемого'
Мысль будет иметь к предоставлению разработке, чтобы гарантировать, что никакая стандартная функциональность не используется (т.е. реестр и т.д.), Также вещи как разрывы строки в текстовых файлах будут иметь различные символы ESC, так должен будет быть обработан
Который ОС Вы имеете в виду, когда Вы говорите межплатформенный?
, Поскольку Epaga правильно указывает, собственный и межплатформенный являются взаимоисключающими. Можно или записать несколько версий, которые работают исходно на нескольких платформах, или необходимо использовать некоторую межплатформенную платформу.
В случае межплатформенного подхода платформы, всегда будут дополнительные требуемые установки. Например, многие здесь предлагают использовать Python и одну из его платформ. Это требовало бы давать людям команду устанавливать Python - и потенциально платформу - сначала.
, Если Вы стремитесь к Windows и OS X (и готовы экспериментировать с кодом альфа-версии для Linux, если поддержка того, что ОС требуется), я настоятельно рекомендовал бы, чтобы Вы смотрели на использование Adobe AIR для межплатформенных приложений GUI.
Я соглашаюсь с Georgi, Java является способом пойти. С небольшим количеством работы можно подать настольную заявку работать апплетом Java также (так, чтобы пользователи не должны были активно загружать ничего вообще). См. http://www.geogebra.org как пример приложения с выполнениями гладко как межплатформенное JAVA-приложение, И имеет простой порт к веб-апплету.
Два других преимущества для использования Java:
Один недостаток:
Попробуйте RealBasic. Подобный Visual Basic синтаксис, целевой Win32, OS X и Linux. Я не знаю деталей о предназначении для Linux, но для любой кросс-платформенной разработки я сделал между Win32 и OS X ее мечта.
Редактирование: Генерирует собственные исполняемые файлы. Существует маленькая стоимость - 100$.
Lazarus великолепен. GTK2 на Linux, win32 / 64 на Windows, WINCE на euh, Винс. Он даже использует Carbon на Mac (работает на COCOA). Также легко продать вашему боссу (код совместим с Delphi)