| Pydroid 3 | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| storage | https://learning-python.com/android-deltas-sync/_README.html#Android Storage |
| Frigcal | https://learning-python.com/using-tkinter-programs-on-android.html#Frigcal |
| PyEdit | https://learning-python.com/using-tkinter-programs-on-android.html#PyEdit |
| oddly | https://learning-python.com/pydroid3-loses-storage-access-gallery/_thumbspage/Da-pc-phone-usb-sync-storage-picker.jpg.html |
| this page | https://learning-python.com/pydroid3-loses-storage-access.html |
| learning-python.com | https://learning-python.com |
| View | https://learning-python.com/android-tkinter/index.html |
| fetch | https://learning-python.com/android-tkinter.zip |
| View | https://learning-python.com/mergeall-android-scripts/_README.html#toc8 |
| Pydroid 3 | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| complete application | https://learning-python.com/programs.html |
| Programming Python, 4th Edition | https://learning-python.com/about-pp4e.html |
| Preface | https://learning-python.com/using-tkinter-programs-on-android.html#Preface |
| PP4E Examples | https://learning-python.com/using-tkinter-programs-on-android.html#PP4E Examples |
| Mergeall | https://learning-python.com/using-tkinter-programs-on-android.html#Mergeall |
| Frigcal | https://learning-python.com/using-tkinter-programs-on-android.html#Frigcal |
| PyEdit | https://learning-python.com/using-tkinter-programs-on-android.html#PyEdit |
| PyGadgets | https://learning-python.com/using-tkinter-programs-on-android.html#PyGadgets |
| PyMailGUI | https://learning-python.com/using-tkinter-programs-on-android.html#PyMailGUI |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#sys.executable |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule2.0 |
| sea change | https://learning-python.com/mergeall-android-scripts/_README.html#thefutureisclosed |
| update here | https://learning-python.com/mergeall-android11-updates.html#android11strikesback |
| update | https://learning-python.com/mergeall-android-scripts/_README.html#android11plus |
| alternative | https://learning-python.com/android-deltas-sync/_README.html |
| here | https://learning-python.com/android-deltas-sync/_README.html#12phantomprocesskiller |
| info | https://duckduckgo.com/?q=Developer+Options+Disable+child+process+restrictions |
| PC-Phone USB Sync | https://quixotely.com/PC-Phone%20USB%20Sync/ |
| ahead | https://learning-python.com/using-tkinter-programs-on-android.html#Mergeall |
| permission | https://learning-python.com/mergeall-android11-updates.html#allfilesaccess |
| revoked | https://learning-python.com/pydroid3-loses-storage-access.html |
| experience | https://quixotely.com/PC-Phone%20USB%20Sync/+screenshots/Android/Tablet-Android13/_thumbspage/tx-landscape-main.jpg.html |
| website | https://quixotely.com/PC-Phone%20USB%20Sync/ |
| this | https://learning-python.com/pydroid3-loses-storage-access.html#s43 |
| this | https://learning-python.com/android-deltas-sync/_README.html |
| Kivy | https://kivy.org |
| Termux how-to | https://learning-python.com/mergeall-android-scripts/_README.html |
| Mergeall | https://learning-python.com/mergeall.html |
| general usage | https://learning-python.com/mergeall-android-scripts/_README.html#toc81 |
| known glitches notes
in the introduction to Pydroid 3 tkinter GUIs of that how-to's
Appendix B.
For space, much material there is either abbreviated or omitted here.
Versions supported
Update: as of fall 2020, programs here
are known to also work on Pydroid 3 4.0, Python 3.8, and
Android 10 (formerly Q).
Findings here reflect versions 2.22 and 3.0 of Pydroid 3;
3.6 and 3.7 of Python; 7, 8, and 9 of Android (Nougat, Oreo, and Pie);
and 8.6 of the Tk library wrapped by tkinter (in an Android port of unknown
origin).
Programs described here are currently known to work on all these systems,
except where noted ahead. Per the notebox above, be sure to check facts
here against these systems' current status if you're reading this in the future.
Defect sources
The defects noted here that hinder tkinter programs
are a mix of Pydroid 3, Python, and Android issues. Those in the latter
two categories (e.g., web-browser opens and permission constraints)
naturally apply to apps other than Pydroid 3.
Code patches
The custom-file replacements used here are required because it's not
possible to integrate Pydroid 3 changes into source-code packages directly, for reasons
explained here.
For each program with changes, copy custom source-code files to the program's
source-code package on Android only (they won't work on PCs) and for
Pydroid 3 only (they won't work for GUIs in other apps). See
this file for
Android names to use in optional platform-specific configuration settings.
Usage pointers
For best usage, a stylus or Bluetooth mouse is generally recommended
for most tkinter GUIs in Pydroid 3, especially those with multiple windows or
small controls. Window resizes, for example, are difficult with touch alone,
though spread/pinch zooms and pans may help.
Some programs (e.g., PyPhoto) require a keyboard for operation, though
there are on-screen alternatives to Bluetooth keyboards described
ahead.
On-screen keyboards
Interacting with Pydroid 3 tkinter text-input fields automatically pops
up an on-screen keyboard in most contexts—for better or worse.
While work has been
done to avoid these popups where they're not useful, they may still
be unwelcome at times. As usual on Android, your device's back button
(and a downswipe where supported) hides a keyboard that's obscuring
important content or GUI components.
Viewing modes
Update: there's more on viewing modes,
including Pydroid 3's DPI settings, in the new display-fit sidebar
ahead.
Suggestions for Pydroid 3 fullscreen and maximized viewing
modes vary per program
ahead. In general, fullscreen mode saves space but may conflict with Android's
status-bar pulldown at display top; maximized mode uses space well but works only for
GUIs without persistent popup window and with either explicit exit widgets or no need
to process or verify exits (Pydroid 3 double-back exits do not run program exit
handlers).
Screen size
GUIs here have been modified to be generally usable on smaller screens
(as small as 5.5 inches and perhaps smaller). Still, some GUI components may
render better in landscape orientation, user display settings are widely variable,
and larger screens are recommended. Where relevant, use
program configuration options to tailor sizes and fonts for better fit.
Useful links
To see the entire set of media—screenshots and source-code—referenced
in this document, browse this folder.
To fetch all the programs' changed source-code files noted in this guide
at once, get
this zipfile.
To view a list of files recently changed as well as upgrade instructions, see
this file.
Pydroid 3 advertising
This guide does not explore the drawbacks of the Pydroid 3 app's pay-or-else
advertising model—arguably one if its biggest negatives.
For more on this topic, see the aforementioned Mergeall
coverage.
You may or may not opt to pay this app's freemium fee, but at least
you've been warned.
| https://learning-python.com/mergeall-android-scripts/_README.html#toc85 |
| Appendix B | https://learning-python.com/mergeall-android-scripts/_README.html#toc8 |
| origin | https://learning-python.com/mergeall-android-scripts/_README.html#androwish |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#toc86 |
| this file | https://learning-python.com/android-tkinter/CODE/_android_test.py |
| ahead | https://learning-python.com/using-tkinter-programs-on-android.html#pyphotokeyboard |
| ahead | https://learning-python.com/using-tkinter-programs-on-android.html#moreonfit |
| modes | https://learning-python.com/android-tkinter/pydroid3-viewing-modes.png |
| handlers | https://learning-python.com/mergeall-android-scripts/_README.html#doubleback |
| this folder | https://learning-python.com/android-tkinter/index.html |
| this zipfile | https://learning-python.com/android-tkinter/CODE/ALL-ANDROID-TKINTER-CODE.zip |
| this file | https://learning-python.com/android-tkinter/CODE/_changes-and-upgrades.txt |
| coverage | https://learning-python.com/mergeall-android-scripts/_README.html#toc86 |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#doubleback |
| Frigcal | https://learning-python.com/using-tkinter-programs-on-android.html#Frigcal |
| off-screen | https://learning-python.com/android-tkinter/Sizing/a-note20--dialog--dpi-auto.jpg |
| dialog | https://learning-python.com/android-tkinter/Sizing/b-note20--dialog--dpi-320.jpg |
| here | https://learning-python.com/android-tkinter/Sizing/index.html |
| Programming Python, 4th Edition | https://learning-python.com/about-pp4e.html |
| Basics | https://learning-python.com/android-tkinter/pp4e-book-1.png |
| Grids | https://learning-python.com/android-tkinter/pp4e-book-2.png |
| Composites | https://learning-python.com/android-tkinter/pp4e-book-3.png |
| Toplevels | https://learning-python.com/android-tkinter/pp4e-book-4.png |
| Layout | https://learning-python.com/android-tkinter/pp4e-book-5.png |
| Menus | https://learning-python.com/android-tkinter/pp4e-book-6.jpg |
| Lists | https://learning-python.com/android-tkinter/pp4e-book-7.jpg |
| Text | https://learning-python.com/android-tkinter/pp4e-book-8.jpg |
| Complete | https://learning-python.com/android-tkinter/pp4e-book-pyview-1.png |
| Etcetera | https://learning-python.com/android-tkinter/pp4e-book-larch-noico.jpg |
| here | https://learning-python.com/android-tkinter/_thumbspage/pp4e-book-1.png.html |
| modes | https://learning-python.com/android-tkinter/pydroid3-viewing-modes.png |
| Play Store | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| this location | https://learning-python.com/PP4E-Examples-1.4.zip |
| button | https://learning-python.com/android-tkinter/pydroid3-IDE.jpg |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-2-tc.png |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-1-es.jpg |
| here | https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander |
| details | https://learning-python.com/mergeall-android-scripts/_README.html#pydroid3shortcuts |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotationsglitch |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotatedactivities |
| off screen | https://learning-python.com/android-tkinter/rotated-help-misplaces-gui.jpg |
| this | https://learning-python.com/android-tkinter/pp4e-book-6.jpg |
| this | https://learning-python.com/android-tkinter/pp4e-book-larch-noico.jpg |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#toc83 |
| PyEdit | https://learning-python.com/using-tkinter-programs-on-android.html#PyEdit |
| PyGadgets | https://learning-python.com/using-tkinter-programs-on-android.html#PyGadgets |
| PyMailGUI | https://learning-python.com/using-tkinter-programs-on-android.html#PyMailGUI |
| Mergeall | https://learning-python.com/using-tkinter-programs-on-android.html#Mergeall |
| Frigcal | https://learning-python.com/using-tkinter-programs-on-android.html#Frigcal |
| PC-Phone USB Sync | https://quixotely.com/PC-Phone%20USB%20Sync/ |
| app | https://learning-python.com/pydroid3-loses-storage-access.html#s43 |
| 11 | https://learning-python.com/mergeall-android11-updates.html#asb4 |
| 6 | https://learning-python.com/pydroid3-loses-storage-access.html |
| app | https://quixotely.com/PC-Phone%20USB%20Sync/+screenshots/Android/Phone-Android10/_thumbspage/p3b-chooser-picks.jpg.html |
| Mergeall | https://learning-python.com/mergeall.html |
| Termux | https://termux.com/ |
| Pydroid 3 | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| this document | https://learning-python.com/mergeall-android-scripts/_README.html |
| user guide | https://learning-python.com/mergeall-products/unzipped/UserGuide.html |
| with care | https://learning-python.com/mergeall-products/unzipped/UserGuide.html#warn |
| above | https://learning-python.com/using-tkinter-programs-on-android.html#android11mergeall |
| app | https://learning-python.com/pydroid3-loses-storage-access.html#s43 |
| Start | https://learning-python.com/android-tkinter/mergeall-portrait-1.jpg |
| browse | https://learning-python.com/android-tkinter/mergeall-portrait-2.jpg |
| report | https://learning-python.com/android-tkinter/mergeall-portrait-3.jpg |
| finish | https://learning-python.com/android-tkinter/mergeall-portrait-4.jpg |
| update | https://learning-python.com/android-tkinter/mergeall-portrait-5.jpg |
| finish | https://learning-python.com/android-tkinter/mergeall-portrait-6.jpg |
| Start | https://learning-python.com/android-tkinter/mergeall-landscape-1.jpg |
| browse | https://learning-python.com/android-tkinter/mergeall-landscape-2.jpg |
| report | https://learning-python.com/android-tkinter/mergeall-landscape-3.jpg |
| finish | https://learning-python.com/android-tkinter/mergeall-landscape-4.jpg |
| update | https://learning-python.com/android-tkinter/mergeall-landscape-5.jpg |
| finish | https://learning-python.com/android-tkinter/mergeall-landscape-6.jpg |
| Landscape | https://learning-python.com/android-tkinter/mergeall-nonmax-landscape.jpg |
| portrait | https://learning-python.com/android-tkinter/mergeall-nonmax-portrait.jpg |
| status | https://learning-python.com/android-tkinter/mergeall-nonmax-nonfull-portrait.jpg |
| here | https://learning-python.com/android-tkinter/_thumbspage/mergeall-landscape-1.jpg.html |
| dialog | https://learning-python.com/android-tkinter/pydroid3-viewing-modes.png |
| Play Store | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| this page | https://learning-python.com/mergeall.html |
| launch-mergeall-GUI.pyw | https://learning-python.com/android-tkinter/CODE/launch-mergeall-GUI.pyw |
| mergeall_configs.py | https://learning-python.com/android-tkinter/CODE/mergeall_configs.py |
| pages | https://learning-python.com/android-tkinter/save-changed-files.png |
| button | https://learning-python.com/android-tkinter/pydroid3-IDE.jpg |
| PCs | https://learning-python.com/mergeall-products/unzipped/UserGuide.html#gui |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-2-tc.png |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-1-es.jpg |
| here | https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander |
| details | https://learning-python.com/mergeall-android-scripts/_README.html#pydroid3shortcuts |
| timestamp bug | https://learning-python.com/mergeall-android-scripts/_README.html#toc21 |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotationsglitch |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotatedactivities |
| off screen | https://learning-python.com/android-tkinter/rotated-help-misplaces-gui.jpg |
| doc | https://learning-python.com/mergeall-android-scripts/_README.html#toc22 |
| timestamp bug | https://learning-python.com/mergeall-android-scripts/_README.html#toc22 |
| this note | https://learning-python.com/mergeall-android-scripts/_README.html#fixfattimes |
| this note | https://learning-python.com/mergeall-android-scripts/_README.html#thefutureisclosed |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#toc25 |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#toc87 |
| this note | https://learning-python.com/mergeall-android-scripts/_README.html#thefutureisclosed |
| like this | https://learning-python.com/android-tkinter/mergeall-to-sdcard.jpg |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#toc36 |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#toc84 |
| configurations file | https://learning-python.com/android-tkinter/CODE/mergeall_configs.py |
| dialog | https://learning-python.com/android-tkinter/mergeall-landscape-2.jpg |
| Browse | https://learning-python.com/android-tkinter/mergeall-landscape-6.jpg |
| settings | https://learning-python.com/mergeall-android-scripts/_README.html#toc37 |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#toc81 |
| GUI | https://learning-python.com/android-tkinter/mergeall-portrait-6.jpg |
| GUI | https://learning-python.com/android-tkinter/mergeall-shorten-PC-orig.png |
| original | https://learning-python.com/android-tkinter/mergeall-shorten-5.5-orig.png |
| shorter | https://learning-python.com/android-tkinter/mergeall-shorten-5.5-try1.png |
| final | https://learning-python.com/android-tkinter/mergeall-shorten-5.5-try2.png |
| launch-mergeall-GUI.pyw | https://learning-python.com/android-tkinter/CODE/launch-mergeall-GUI.pyw |
| configurations file | https://learning-python.com/android-tkinter/CODE/mergeall_configs.py |
| custom font | https://learning-python.com/android-tkinter/mergeall-shorten-5.5-custom.png |
| GUI | https://learning-python.com/android-tkinter/mergeall-landscape-1.jpg |
| online | https://learning-python.com/mergeall-products/unzipped/UserGuide.html |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule2.0 |
| user guide | https://learning-python.com/android-tkinter/mergeall-help-html.jpg |
| logfiles | https://learning-python.com/android-tkinter/mergeall-x-logfile-popup.jpg |
| issue | https://learning-python.com/mergeall-android-scripts/_README.html#buttonissues |
| package | https://learning-python.com/frigcal.html |
| README-3.0.txt | https://learning-python.com/frigcal-products/unzipped/README-3.0.txt |
| page | https://learning-python.com/using-tkinter-programs-on-android.html |
| here | https://learning-python.com/pydroid3-loses-storage-access.html#s31 |
| Frigcal | https://learning-python.com/frigcal.html |
| user guide | https://learning-python.com/frigcal-products/unzipped/UserGuide.html |
| Month window | https://learning-python.com/android-tkinter/frigcal-1.jpg |
| Event view/edit | https://learning-python.com/android-tkinter/frigcal-2.jpg |
| Images | https://learning-python.com/android-tkinter/frigcal-3.jpg |
| Portrait | https://learning-python.com/android-tkinter/frigcal-4.jpg |
| Rightclicks | https://learning-python.com/android-tkinter/frigcal-rightswipe-event-menu.jpg |
| Event list | https://learning-python.com/android-tkinter/frigcal-events-list.jpg |
| Zoomed | https://learning-python.com/android-tkinter/frigcal-pinchzoom.png |
| Multiwindow | https://learning-python.com/android-tkinter/frigcal-multiwindow.jpg |
| Save on exit | https://learning-python.com/android-tkinter/frigcal-7-save-oreo-works.jpg |
| here | https://learning-python.com/android-tkinter/_thumbspage/frigcal-1.jpg.html |
| number | https://learning-python.com/android-tkinter/frigcal-events-list.jpg |
| portrait | https://learning-python.com/android-tkinter/frigcal-events-portrait.jpg |
| saves | https://learning-python.com/android-tkinter/frigcal-7-save-oreo-works.jpg |
| handers | https://learning-python.com/mergeall-android-scripts/_README.html#doubleback |
| popups | https://learning-python.com/android-tkinter/frigcal-multiwindow.jpg |
| viewing | https://learning-python.com/android-tkinter/frigcal-fullscreen.jpg |
| button | https://learning-python.com/android-tkinter/frigcal-1.jpg |
| dialog | https://learning-python.com/android-tkinter/pydroid3-viewing-modes.png |
| Play Store | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| this page | https://learning-python.com/frigcal.html |
| frigcal.py | https://learning-python.com/android-tkinter/CODE/frigcal.py |
| frigcal_configs.py | https://learning-python.com/android-tkinter/CODE/frigcal_configs.py |
| scrolledlist.py | https://learning-python.com/android-tkinter/CODE/scrolledlist.py |
| pages | https://learning-python.com/android-tkinter/save-changed-files.png |
| folder | https://learning-python.com/android-tkinter/CODE |
| frigcal-launcher.pyw | https://learning-python.com/android-tkinter/CODE/frigcal-launcher.pyw |
| button | https://learning-python.com/android-tkinter/pydroid3-IDE.jpg |
| PCs | https://learning-python.com/frigcal-products/unzipped/UserGuide.html#usingthegui |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-2-tc.png |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-1-es.jpg |
| here | https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander |
| details | https://learning-python.com/mergeall-android-scripts/_README.html#pydroid3shortcuts |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotationsglitch |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotatedactivities |
| off screen | https://learning-python.com/android-tkinter/rotated-help-misplaces-gui.jpg |
| timestamp bug | https://learning-python.com/mergeall-android-scripts/_README.html#toc21 |
| saves | https://learning-python.com/android-tkinter/frigcal-5-save-nougat-fails-1.png |
| mode | https://learning-python.com/android-tkinter/pydroid3-viewing-modes.png |
| space | https://learning-python.com/android-tkinter/frigcal-fullscreen-nav.jpg |
| hidden | https://learning-python.com/android-tkinter/frigcal-fullscreen.jpg |
| saves | https://learning-python.com/android-tkinter/frigcal-7-save-oreo-works.jpg |
| labels | https://learning-python.com/android-tkinter/frigcal-multiwindow.jpg |
| orientation | https://learning-python.com/android-tkinter/frigcal-4.jpg |
| instead | https://learning-python.com/android-tkinter/frigcal-2.jpg |
| truncated | https://learning-python.com/android-tkinter/frigcal-options-list-truncated.jpg |
| Footer | https://learning-python.com/android-tkinter/frigcal-footer.jpg |
| launcher | https://learning-python.com/android-tkinter/frigcal-launcher-postsysexe.png |
| Pydroid 3 | https://learning-python.com/mergeall-android-scripts/_README.html#guiscannotspawnguis |
| events | https://learning-python.com/android-tkinter/frigcal-rightswipe-event-menu.jpg |
| zoom in | https://learning-python.com/android-tkinter/frigcal-pinchzoom.png |
| display | https://learning-python.com/android-tkinter/frigcal-events-list.jpg |
| dialogs | https://learning-python.com/android-tkinter/frigcal-2.jpg |
| dialogs | https://learning-python.com/android-tkinter/frigcal-rightswipe-event-menu.jpg |
| portrait mode | https://learning-python.com/android-tkinter/frigcal-events-portrait.jpg |
| dialog | https://learning-python.com/android-tkinter/frigcal-2.jpg |
| Google Gboard | https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin |
| Hacker's Keyboard | https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard |
| PyEdit | https://learning-python.com/using-tkinter-programs-on-android.html#PyEdit |
| PyPhoto | https://learning-python.com/using-tkinter-programs-on-android.html#PyGadgets |
| Hacker's Keyboard | https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard |
| this note | https://learning-python.com/mergeall-android-scripts/_README.html#thefutureisclosed |
| here | https://learning-python.com/android-tkinter/frigcal-update-no-termuxappdir-1.jpg |
| here | https://learning-python.com/android-tkinter/frigcal-update-no-termuxappdir-2.jpg |
| here | https://learning-python.com/android-tkinter/frigcal-update-no-termuxappdir-3.jpg |
| makenewcalendar.py | https://learning-python.com/frigcal-products/unzipped/makenewcalendar.py |
| like this | https://learning-python.com/android-tkinter/frigcal-android-calendar-open.jpg |
| like this | https://learning-python.com/android-tkinter/frigcal-android-calendar-make.jpg |
| like this | https://learning-python.com/android-tkinter/frigcal-android-calendar-use.jpg |
| coverage | https://learning-python.com/frigcal-products/unzipped/UserGuide.html#usingcalendars |
| option | https://learning-python.com/android-tkinter/frigcal-multiwindow.jpg |
| here | https://learning-python.com/frigcal-products/unzipped/docetc/DeveloperGuide.html#release16 |
| dialog | https://learning-python.com/android-tkinter/frigcal-2.jpg |
| user guide | https://learning-python.com/frigcal-products/unzipped/UserGuide.html#daygridmouse |
| GUI | https://learning-python.com/android-tkinter/frigcal-1.jpg |
| online | https://learning-python.com/frigcal-products/unzipped/UserGuide.html |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule2.0 |
| user guide | https://learning-python.com/android-tkinter/frigcal-help-html.jpg |
| 5.5 inches | https://learning-python.com/android-tkinter/frigcal-s5.5in-landscape.png |
| needed | https://learning-python.com/android-tkinter/frigcal-s5.5in-portrait.png |
| frigcal_configs.py | https://learning-python.com/android-tkinter/CODE/frigcal_configs.py |
| devices | https://learning-python.com/android-tkinter/_thumbspage/frigcal-xbtnfont-j7-after.png.html |
| yours | https://learning-python.com/android-tkinter/_thumbspage/frigcal-xbtnfont-note9-after.jpg.html |
| landscape | https://learning-python.com/android-tkinter/frigcal-2.jpg |
| 5.5 inches | https://learning-python.com/android-tkinter/frigcal-s5.5in-land-event.png |
| portrait | https://learning-python.com/android-tkinter/frigcal-4.jpg |
| frigcal_configs.py | https://learning-python.com/android-tkinter/CODE/frigcal_configs.py |
| package | https://learning-python.com/pyedit.html |
| notes | https://learning-python.com/pyedit-products/unzipped/UserGuide.html#recent0 |
| screenshots | https://learning-python.com/pyedit-products/unzipped/docetc/4.0-screenshots/ |
| page | https://learning-python.com/using-tkinter-programs-on-android.html |
| PyEdit | https://learning-python.com/pyedit.html |
| user guide | https://learning-python.com/pyedit-products/unzipped/UserGuide.html |
| Main and popup | https://learning-python.com/android-tkinter/pyedit-popup.png |
| File dialog | https://learning-python.com/android-tkinter/pyedit-open.png |
| Menu options | https://learning-python.com/android-tkinter/pyedit-popup-and-menu.png |
| Portrait max | https://learning-python.com/android-tkinter/pyedit-view-4-full-max-nonav.png |
| Info dialog | https://learning-python.com/android-tkinter/pyedit-info.png |
| Grep search | https://learning-python.com/android-tkinter/pyedit-grep-works-postconfigedit.png |
| Run code | https://learning-python.com/android-tkinter/pyedit-runcode-works-postsysexe.png |
| Save on exit | https://learning-python.com/android-tkinter/pyedit-save-on-exit.jpg |
| Help dialog | https://learning-python.com/android-tkinter/pyedit-2.jpg |
| here | https://learning-python.com/android-tkinter/_thumbspage/pyedit-1.png.html |
| changes | https://learning-python.com/mergeall-android-scripts/_README.html#doubleback |
| dialog | https://learning-python.com/android-tkinter/pydroid3-viewing-modes.png |
| lost | https://learning-python.com/mergeall-android-scripts/_README.html#doubleback |
| mode | https://learning-python.com/android-tkinter/pyedit-popup.png |
| chance to save edits | https://learning-python.com/android-tkinter/pyedit-save-on-exit.jpg |
| Play Store | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| this page | https://learning-python.com/pyedit.html |
| textEditor.py | https://learning-python.com/android-tkinter/CODE/textEditor.py |
| textConfig.py | https://learning-python.com/android-tkinter/CODE/textConfig.py |
| pages | https://learning-python.com/android-tkinter/save-changed-files.png |
| button | https://learning-python.com/android-tkinter/pydroid3-IDE.jpg |
| PCs | https://learning-python.com/pyedit-products/unzipped/UserGuide.html#gui |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-2-tc.png |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-1-es.jpg |
| here | https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander |
| details | https://learning-python.com/mergeall-android-scripts/_README.html#pydroid3shortcuts |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotationsglitch |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotatedactivities |
| off screen | https://learning-python.com/android-tkinter/rotated-help-misplaces-gui.jpg |
| orientation | https://learning-python.com/android-tkinter/pyedit-view-4-full-max-nonav.png |
| symbols | https://learning-python.com/android-tkinter/pyedit-popup.png |
| This shot | https://learning-python.com/android-tkinter/pyedit-unicode-botched.jpg |
| options | https://learning-python.com/android-tkinter/pyedit-popup-and-menu.png |
| PyEdit | https://learning-python.com/android-tkinter/pyedit-popup.png |
| Google Gboard | https://play.google.com/store/apps/details?id=com.google.android.inputmethod.latin |
| Hacker's Keyboard | https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard |
| ahead | https://learning-python.com/using-tkinter-programs-on-android.html#PyGadgets |
| Hacker's Keyboard | https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard |
| large rectangle | https://learning-python.com/android-tkinter/pyedit-weird-cursor-rectangles.jpg |
| this note | https://learning-python.com/mergeall-android-scripts/_README.html#thefutureisclosed |
| greps | https://learning-python.com/android-tkinter/pyedit-grep.png |
| file | https://learning-python.com/android-tkinter/CODE/textConfig.py |
| file | https://learning-python.com/android-tkinter/CODE/textConfig.py |
| GUI | https://learning-python.com/android-tkinter/pyedit-2.jpg |
| online | https://learning-python.com/pyedit-products/unzipped/UserGuide.html |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule2.0 |
| user guide | https://learning-python.com/android-tkinter/pyedit-help-html.jpg |
| tool | https://learning-python.com/android-tkinter/pyedit-runcode-works-postsysexe.png |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#webbrowsermodule |
| options | https://learning-python.com/android-tkinter/pyedit-x-runclick-options.jpg |
| editors | https://learning-python.com/android-tkinter/pyedit-x-runclick-handler.jpg |
| operational | https://learning-python.com/android-tkinter/pyedit-runcode-works-postsysexe.png |
| dialog | https://learning-python.com/android-tkinter/pyedit-2.jpg |
| custom dialogs | https://learning-python.com/android-tkinter/pyedit-help-text.jpg |
| displays | https://learning-python.com/android-tkinter/pyedit-help-text-both-p.jpg |
| PyGadgets | https://learning-python.com/pygadgets.html |
| release notes | https://learning-python.com/pygadgets-products/unzipped/README.txt |
| PyCalc | https://learning-python.com/android-tkinter/pygadgets-pycalc-3.jpg |
| PyCalc windows | https://learning-python.com/android-tkinter/pygadgets-pycalc-2.jpg |
| PyClock | https://learning-python.com/android-tkinter/pygadgets-pyclock-1.png |
| PyClock max | https://learning-python.com/android-tkinter/pygadgets-pyclock-2.png |
| PyToe | https://learning-python.com/android-tkinter/pygadgets-pytoe-postimport1line.png |
| PyToe landscape | https://learning-python.com/android-tkinter/pygadgets-pytoe-2.jpg |
| PyPhoto | https://learning-python.com/android-tkinter/pygadgets-pyphoto-1.png |
| PyPhoto portrait | https://learning-python.com/android-tkinter/pygadgets-pyphoto-2.png |
| PyPhoto keys | https://learning-python.com/android-tkinter/pygadgets-pyphoto-kbrd.jpg |
| here | https://learning-python.com/android-tkinter/_thumbspage/pygadgets-pycalc-1.jpg.html |
| dialog | https://learning-python.com/android-tkinter/pydroid3-viewing-modes.png |
| Play Store | https://play.google.com/store/apps/details?id=ru.iiec.pydroid3 |
| this page | https://learning-python.com/pygadgets.html |
| calculator.py | https://learning-python.com/android-tkinter/CODE/calculator.py |
| tictactoe.py | https://learning-python.com/android-tkinter/CODE/tictactoe.py |
| tictactoe_lists.py | https://learning-python.com/android-tkinter/CODE/tictactoe_lists.py |
| pages | https://learning-python.com/android-tkinter/save-changed-files.png |
| helpmessage.py | https://learning-python.com/android-tkinter/CODE/helpmessage.py |
| page | https://learning-python.com/android-tkinter/save-changed-files.png |
| folder | https://learning-python.com/android-tkinter/CODE |
| PyGadgets.py | https://learning-python.com/android-tkinter/CODE/PyGadgets.py |
| PyGadgets_configs.py | https://learning-python.com/android-tkinter/CODE/PyGadgets_configs.py |
| helpmessage.py | https://learning-python.com/android-tkinter/CODE/helpmessage.py |
| button | https://learning-python.com/android-tkinter/pydroid3-IDE.jpg |
| PCs | https://learning-python.com/pygadgets-products/unzipped/README.txt |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-2-tc.png |
| this | https://learning-python.com/android-tkinter/program-file-shortcuts-1-es.jpg |
| here | https://play.google.com/store/apps/details?id=com.ghisler.android.TotalCommander |
| details | https://learning-python.com/mergeall-android-scripts/_README.html#pydroid3shortcuts |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotationsglitch |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#rotatedactivities |
| off screen | https://learning-python.com/android-tkinter/rotated-help-misplaces-gui.jpg |
| launcher | https://learning-python.com/android-tkinter/pygadgets-launcher.jpg |
| Pydroid 3 | https://learning-python.com/mergeall-android-scripts/_README.html#guiscannotspawnguis |
| properly | https://learning-python.com/android-tkinter/pygadgets-launcher2.jpg |
| Hacker's Keyboard | https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard |
| notifications | https://learning-python.com/android-tkinter/pydroid3-notific-keyboard.jpg |
| like this | https://learning-python.com/android-tkinter/pygadgets-pyphoto-kbrd.jpg |
| PyEdit | https://learning-python.com/using-tkinter-programs-on-android.html#PyEdit |
| this note | https://learning-python.com/mergeall-android-scripts/_README.html#thefutureisclosed |
| earlier note | https://learning-python.com/using-tkinter-programs-on-android.html#mergeallfat32 |
| Mergeall | https://learning-python.com/using-tkinter-programs-on-android.html#Mergeall |
| thumbnail indexes | https://learning-python.com/android-tkinter/pygadgets-pyphoto-1.png |
| button | https://learning-python.com/android-tkinter/pygadgets-pycalc-3.jpg |
| popups | https://learning-python.com/android-tkinter/pygadgets-pycalc-keyboard.jpg |
| pressed | https://learning-python.com/android-tkinter/pygadgets-pycalc-zbuttons-stuck.png |
| cosmetics | https://learning-python.com/android-tkinter/pygadgets-pycalc-3.jpg |
| displays | https://learning-python.com/android-tkinter/pygadgets-pycalc-y5.5in-more.png |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#buttonissues |
| popup | https://learning-python.com/android-tkinter/pygadgets-pycalc-2.jpg |
| keyboard | https://learning-python.com/android-tkinter/pygadgets-pycalc-keyboard.jpg |
| display | https://learning-python.com/android-tkinter/pygadgets-pycalc-3.jpg |
| patches | https://learning-python.com/android-tkinter/CODE/calculator.py |
| here | https://learning-python.com/mergeall-android-scripts/_README.html#keypresshandlers |
| Hacker's Keyboard | https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard |
| helpmessage.py | https://learning-python.com/android-tkinter/CODE/helpmessage.py |
| help dialogs | https://learning-python.com/android-tkinter/pygadgets-pycalc-help-text.jpg |
| better fit | https://learning-python.com/android-tkinter/pygadgets-pycalc-y5.5in-help.png |
| history | https://learning-python.com/android-tkinter/pygadgets-pycalc-hist.jpg |
| tap here | https://learning-python.com/python-changes-2014-plus.html#section6 |
| PyMailGUI | https://learning-python.com/pymailgui.html |
| here | https://learning-python.com/pymailgui-products/unzipped/UserGuide.html |
| account launcher | https://learning-python.com/pymailgui-products/unzipped/docetc/docimgs/macosx/composite.png |
| Frigcal | https://learning-python.com/using-tkinter-programs-on-android.html#Frigcal |
| PyGadgets | https://learning-python.com/using-tkinter-programs-on-android.html#PyGadgets |
| Terminal | https://learning-python.com/android-tkinter/pymailgui-terminal-guis-fail.png |
| this note | https://learning-python.com/mergeall-android-scripts/_README.html#guiscannotspawnguis |
| above | https://learning-python.com/using-tkinter-programs-on-android.html#PyEdit |
| here | https://learning-python.com/android-tkinter/_thumbspage/pymailgui-1.jpg.html |
| Mail loads | https://learning-python.com/android-tkinter/pymailgui-1.jpg |
| Mail fetches | https://learning-python.com/android-tkinter/pymailgui-2.jpg |
| Mail views | https://learning-python.com/android-tkinter/pymailgui-3.jpg |
|
| https://learning-python.com/index.html |
| Top | https://learning-python.com/using-tkinter-programs-on-android.html |
| Code | https://learning-python.com/android-tkinter/CODE/ |
| Media | https://learning-python.com/android-tkinter/index.html |
| Mergeall | https://learning-python.com/mergeall-android-scripts/_README.html#toc8 |
| News | https://learning-python.com/post-release-updates.html |
| Blog | https://learning-python.com/posts.html |
| Apps | https://learning-python.com/programs.html |
| ©M.Lutz | https://learning-python.com/formalbio.html |