Comments (5)
Thanks for the report. Toga on Windows is fairly primitive - it hasn't got all the widgets necessary to handle the full toga-demo - so you haven't done anything wrong here. Windows is an area that I accept as important, but it's lower on my personal list of immediate priorities; if anyone is motivated to work on Windows support, especially if they have expertise on native Windows APIs, I'd deeply appreciate the help.
from toga.
I'm kind of a noob programmer but I like to tinker around. One of my goals is to help the user experience of Python on Windows. That said, I am a noob (maybe more like a higher level noob). If anyone can point me in a good direction for learning Windows APIs, I'll gladly do the footwork and begin contributing the best I can. Thanks ahead of time.
from toga.
@ginoskotheon If you're in a position to help out, that would be amazing!
Unfortunately, I don't know where to point you for learning Windows APIs; I haven't used Windows in any serious capacity for many years now.
I've got two suggestions for getting started - both from a "here's a goal" perspective. If you can get to that goal, I can point
- Implement Toga tutorial 0 (and maybe tutorial 1). Do this in several phases:
a. Implement the app using a completely native Windows API and language.
b. Extend that app in such a way that it exposes a raw C API.
c. Implement the app using Pythonctypes
invoking that C API. - Work out what wrapping is necessary to distribute this windows app as an installable app that behaves the same way that a normal Windows app works.
For point (1), I'm assuming that having a C API invoked over ctypes
will be the easiest way to invoke a C# API; however, that may not be the case. Essentially, the task here is to investigate, and see what works and what doesn't. The only goal I have is that the end-user must have a 0 compilation install path. It doesn't matter if the developer needs to compile something, as long as it can be wrapped up as a wheel and distributed as a binary that Just Works(tm).
For (2), see [pybee/Python-macOS-template] for an example for what I mean in a macOS context; I'm looking for the analog of that for windows, which may involve writing an installer script of some kind. I'm assuming WiX or NSIS will be needed here.
from toga.
@freakboy3742 Thanks for the response and the guidance. Exactly what I needed. I will begin putting in the time and thought. It will take me a while, probably. But I'm really pumped to help in anyway I can. And if anyone out there is better at this than I am, I would love to collaborate.
from toga.
Closing this ticket in favour of general improvement on toga-win32/toga-winrt
from toga.
Related Issues (20)
- iOS dark mode: multiline input text is not visible HOT 1
- Better error handling for capturing as an image HOT 2
- dialogs example is broken(?) 'MainWindow' object has no attribute 'dialog'" HOT 4
- Toga-based CLI-to-GUI builder? HOT 1
- Eliminate `factory` modules HOT 1
- "Test suite didn't report a result" on macOS-arm64 HOT 3
- The `ROW` direction in RTL Android Phones is a mess! HOT 7
- Make Command properties dynamically updatable HOT 4
- CommandSet should have a `remove` method HOT 7
- Add a setter for `Table.selection` HOT 3
- On GTK, OptionContainer current_tab returns wrong index HOT 7
- Error calling async App.on_exit handler: "coroutine was never awaited" HOT 2
- Table.on_activate should fire when pressing Enter with the table focused
- Hide non-default readthedocs versions from search engines HOT 1
- Documentation right sidebar is badly wrapped when class name is long HOT 1
- Android calls python through chaquo to get the ui window built by toga, strange error “No module named 'org'” HOT 6
- [QUERY] How to do `save_file_dialog` on Android? HOT 1
- `add_background_task` is blocked in this Situation! HOT 1
- Deprecate using a generator as an event handler
- Window does not maintain size after being minimized on Windows HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from toga.