Как записать межплатформенную программу?

Полагаю, вы хотите установить размер кнопки в пикселях. Размер кнопки по умолчанию равен символам, когда кнопка отображает текст, но не изображение. Чтобы получить размер в пикселях, вы должны отобразить изображение в кнопке. См. Пример ниже:

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 пикселей и прозрачный цвет.

13
задан Pavel Bastov 26 September 2008 в 11:25
поделиться

14 ответов

Если это "должен" быть Настольный QT использования. Ничто не бьет его прямо сейчас.

Однако лично я разочаровался в рабочем столе и любом основанном на UI проекте, который я делаю обычно базирующийся Браузер/Сервер. Можно легко записать немного пользовательского сервера, который слушает некоторый порт, таким образом, программа может работать локально без потребности в пользователях установить Apache или иметь доступ к сети. У меня есть небольшой Lua, Python и платформа C++, которую я сделал с этой целью (Хотите добавить JavaScript для бэкенда с V8 :)

1
ответ дан 1 December 2019 в 17:26
поделиться

Flash? Это установлено в значительной степени везде.

2
ответ дан 1 December 2019 в 17:26
поделиться

Если Вы собираетесь посмотреть на QT и WxWidgets, не забывайте также проверять GTK + !

1
ответ дан 1 December 2019 в 17:26
поделиться

Если Вы знаете C или C++ первая кросс-платформенная платформа GUI, я могу думать:

  • QT (C++, собственный но свободный с лицензированием LGPL)
  • wxWidgets (C++, самое полное и стабильное, но также и огромное)
  • (C++) FLTK
  • (C++) FOX
  • IUP (C, более простой и более чистый, чем те выше)

, Если Вы знаете Паскаля, можно попробовать freepascal + Lazarus. Я никогда не использовал его, все же.

15
ответ дан 1 December 2019 в 17:26
поделиться

WxWindows? О, это назвало WxWidgets теперь: http://www.wxwidgets.org/

4
ответ дан 1 December 2019 в 17:26
поделиться

wxWidgets имеет привязку ко всем видам языков - Python, например, если Ваше приложение является достаточно небольшим.

4
ответ дан 1 December 2019 в 17:26
поделиться

Вы хотите разработать межплатформенную программу исходно? Мм... Я не думаю, что это будет работать, главным образом потому что та фраза является парадоксом. При написании собственного кода он по его самому характеру будет только работать на платформе, для которой Вы запрограммировали его.;-) Это - то, о чем Платформы - все.

Поэтому то, что необходимо сделать вместо этого, является использованием очень тонкая платформа, если программа будет настолько маленькой. идея itsmatt QT является возможностью.

5
ответ дан 1 December 2019 в 17:26
поделиться

Проблема: Если Вы не хотите иметь GUI, но Вы не хотите просить, чтобы пользователь для загрузки вечного API, Платформы или виртуальной машины для выполнения его в, был им TCL/TK, Java или QT и т.д. затем, Вы заблудились довольно быстро.

причина: необходимо было бы восстановить весь (GUI) функциональность, которой те API, платформы и виртуальные машины обеспечивают Вам быть независимыми от платформы. И это - большая работа, чтобы сделать....

С другой стороны: виртуальная машина Java установлена почти в какой-либо операционной системе с нуля, почему бы не дать этому выстрел?

6
ответ дан 1 December 2019 в 17:26
поделиться

Как насчет использования Python Qt или Wx и затем использование PythonToExe для создания 'распространяемого'

Мысль будет иметь к предоставлению разработке, чтобы гарантировать, что никакая стандартная функциональность не используется (т.е. реестр и т.д.), Также вещи как разрывы строки в текстовых файлах будут иметь различные символы ESC, так должен будет быть обработан

3
ответ дан 1 December 2019 в 17:26
поделиться

Который ОС Вы имеете в виду, когда Вы говорите межплатформенный?

, Поскольку Epaga правильно указывает, собственный и межплатформенный являются взаимоисключающими. Можно или записать несколько версий, которые работают исходно на нескольких платформах, или необходимо использовать некоторую межплатформенную платформу.

В случае межплатформенного подхода платформы, всегда будут дополнительные требуемые установки. Например, многие здесь предлагают использовать Python и одну из его платформ. Это требовало бы давать людям команду устанавливать Python - и потенциально платформу - сначала.

, Если Вы стремитесь к Windows и OS X (и готовы экспериментировать с кодом альфа-версии для Linux, если поддержка того, что ОС требуется), я настоятельно рекомендовал бы, чтобы Вы смотрели на использование Adobe AIR для межплатформенных приложений GUI.

3
ответ дан 1 December 2019 в 17:26
поделиться

Я соглашаюсь с Georgi, Java является способом пойти. С небольшим количеством работы можно подать настольную заявку работать апплетом Java также (так, чтобы пользователи не должны были активно загружать ничего вообще). См. http://www.geogebra.org как пример приложения с выполнениями гладко как межплатформенное JAVA-приложение, И имеет простой порт к веб-апплету.

Два других преимущества для использования Java:

  1. у Них есть обширные библиотеки для создания UI, включая разработчиков компонента UI.
  2. платформа Среды выполнения Java обычно обновляется автоматически для пользователя.

Один недостаток:

  1. версия Java, установленного на Вашем компьютере конечных пользователей, не может быть полностью совместима с Вашим приложением, требуя, чтобы Вы кодировали к самому низкому вероятному знаменателю.
3
ответ дан 1 December 2019 в 17:26
поделиться

Вы посмотрели Qt?

2
ответ дан 1 December 2019 в 17:26
поделиться

Попробуйте RealBasic. Подобный Visual Basic синтаксис, целевой Win32, OS X и Linux. Я не знаю деталей о предназначении для Linux, но для любой кросс-платформенной разработки я сделал между Win32 и OS X ее мечта.

http://www.realbasic.com

Редактирование: Генерирует собственные исполняемые файлы. Существует маленькая стоимость - 100$.

3
ответ дан 1 December 2019 в 17:26
поделиться

Lazarus великолепен. GTK2 на Linux, win32 / 64 на Windows, WINCE на euh, Винс. Он даже использует Carbon на Mac (работает на COCOA). Также легко продать вашему боссу (код совместим с Delphi)

4
ответ дан 1 December 2019 в 17:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: