Это трудно объяснить без иллюстрации, поэтому - вот, иллюстрация, слепленный из скриншотов несколько примеров привет мира и много краски работы:Как создать графический интерфейс, который ведет себя так?
Я начал с использованием Windows, Формы на .NET (через IronPython, но это не должно быть важно) и не смогли найти многого. Библиотеки GUI в целом очень запугивают, просто потому, что каждый класс имеет так много возможных атрибутов. Документация хорошо объясняет, что все делает, но не так хорошо помогает вам понять, что вам нужно.
Я буду динамически собирать графический интерфейс, но я не ожидаю, что это будет трудная часть. Точки налипания для меня прямо сейчас:
Как получить текстовые метки, чтобы сами размера автоматически ширины выводимого текста (так, чтобы текст не клип, и я тоже не запас ненужное пространство для них при изменении размера окна)?
Как сделать вертикальную полосу прокрутки всегда отображаемой? Установка свойства VScroll (почему это защищено, когда AutoScroll является общедоступным, BTW?), Похоже, ничего не делает.
Почему горизонтальная полоса прокрутки не добавляется AutoScroll, когда содержимое выложено вертикально (через
Dock = DockStyle.Top
)? Я могу использовать минимальный размер для панелей, чтобы предотвратить перекрытие метки и соответствующего элемента управления, когда окно сокращается горизонтально, но затем полоса прокрутки не появляется, а элемент управления недоступен.Как я могу установить ограничения на изменение размера окна (например, установить минимальную ширину), не отключая его полностью? (Просто задайте минимальные/максимальные размеры для формы?) В связи с этим существует ли способ установить минимальную/максимальную ширину или высоту без установки минимального/максимального размера (т. Е. Могу ли я ограничить размер только в одном измерении)?
Есть ли встроенный элемент управления, подходящий для редактирования в формате hex, или мне придется что-то самостоятельно строить?
... И я должен использовать что-то еще, что я слышал, WPF упоминалось, но я понимаю, что это связано с XML, и я действительно хочу, чтобы построить GUI из XML (возможно, что-то более способный?) - Я уже имеют данные в графе объектов и делают какую-то странную псевдо-сериализацию XML (в Python, не менее!), чтобы создать графический интерфейс, кажется невероятно крутым.
Вам не нужно использовать XAML при выполнении WPF, это упрощает работу. Книга Петцольда WPF даже не приближается к XAML до второй половины, например. –