-
-
Notifications
You must be signed in to change notification settings - Fork 400
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GUI on Remy for mobile devices #495
Comments
Hello @tellts , Here is an example for you. In the following code the application handles the window resize to adapt the layout on different screen resolutions. To verify its behaviour just resize the browser screen and you will see the layout change. import remi.gui as gui
from remi import start, App
class MyApp(App):
def main(self):
#creating a container GridBox type
self.main_container = gui.GridBox(width='100%', height='100%', style={'margin':'0px auto'})
label = gui.Label('This is a label')
label.style['background-color'] = 'lightgreen'
button = gui.Button('A button', height='100%')
text = gui.TextInput()
#defining layout matrix, have to be iterable of iterable
self.main_container.define_grid(['ab',
'ac'])
self.main_container.append({'a':label, 'b':button, 'c':text})
#setting sizes for rows and columns
self.main_container.style.update({'grid-template-columns':'10% 90%', 'grid-template-rows':'10% 90%'})
# returning the root widget
return self.main_container
def onpageshow(self, emitter, width, height):
self.onresize(emitter, width, height)
def onresize(self, emitter, width, height):
#redefining grid layout
if float(width)<float(height):
self.main_container.define_grid(['c','a','b'])
self.main_container.style.update({'grid-template-columns':'100%', 'grid-template-rows':'33% 33% 33%'})
else:
self.main_container.define_grid(['ab',
'ac'])
self.main_container.style.update({'grid-template-columns':'10% 90%', 'grid-template-rows':'10% 90%'})
if __name__ == "__main__":
# starts the webserver
start(MyApp, address='0.0.0.0', port=0, start_browser=True) |
Thanks you. Can you please tell me how to run this sample code on a mobile device? |
The easiest way to run python on Android is using the QPython app. Of course remi can be used in any python capable device. |
I have installed the Chaquopy https://chaquo.com/chaquopy/ . https://play.google.com/store/apps/details?id=com.chaquo.python.demo3 . |
These are 3 examples of how the code is run in this environment. Line breaks have been removed between commands. |
Does it provide the possibility to install pypi packages? If so you can install remi and run your app |
If I understand correctly, this is not the way to do it. But I can ask the support service how to install the program from the distribution. |
Hello. Could you tell me what questions to ask correctly or ask there yourself, since I myself can’t do it quite professionally? |
Hello @tellts , |
If I am not mistaken, this must be done in the Android Studio by installing a special plugin https://chaquo.com/chaquopy/doc/current/android.html (this is written at the very bottom of the page). Another example is here https://chaquo.com/chaquopy/doc/current/faq.html#faq-mirror |
I think it is correct. I suggest you to use QPython, it is easy to use and full featured. |
Qpython does not install on older tablets with Android 4.x |
Do you really need to run the python script on the mobile device? Consider that remi is a Web Gui, it means that you can run the App on another device (a PC for example) and you can see thr interface on other devices in the network |
Hello. Yes, I wanted to be able to make programs in Python with the GUI, but at the same time, so that they were autonomous from the Internet. |
Unfortunately I don't know about other solutions to run python on Android |
Please give examples on how to use Remy to create apps for mobile devices.
The text was updated successfully, but these errors were encountered: