<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Why have switch and button widgets been removed from uiflow]]></title><description><![CDATA[<p dir="auto">I am completely dumbfounded as to why button and switch widgets have been removed from UI flow<br />
Am I missing something ??? can anybody explain this??????????????????</p>
]]></description><link>https://community.m5stack.com/topic/7572/why-have-switch-and-button-widgets-been-removed-from-uiflow</link><generator>RSS for Node</generator><lastBuildDate>Sun, 08 Mar 2026 13:55:43 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/7572.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 23 May 2025 15:42:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Why have switch and button widgets been removed from uiflow on Thu, 24 Jul 2025 09:24:00 GMT]]></title><description><![CDATA[<p dir="auto">Switch and button widgets were removed from UiFlow 2.0 to promote customizable touch interfaces. Instead, users now create interactive zones manually using shapes and handle touch events via coordinates, allowing greater flexibility but requiring more setup than drag-and-drop components.</p>
]]></description><link>https://community.m5stack.com/post/29602</link><guid isPermaLink="true">https://community.m5stack.com/post/29602</guid><dc:creator><![CDATA[peolsolutions]]></dc:creator><pubDate>Thu, 24 Jul 2025 09:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to Why have switch and button widgets been removed from uiflow on Mon, 30 Jun 2025 02:42:09 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/299622">@ph0sgene</a> At present, only the function information has been input into LLM, so it may not have the ability to plan programs, and explaining functions may be more useful</p>
]]></description><link>https://community.m5stack.com/post/29358</link><guid isPermaLink="true">https://community.m5stack.com/post/29358</guid><dc:creator><![CDATA[yuyun2000]]></dc:creator><pubDate>Mon, 30 Jun 2025 02:42:09 GMT</pubDate></item><item><title><![CDATA[Reply to Why have switch and button widgets been removed from uiflow on Sat, 28 Jun 2025 14:49:30 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://chat.m5stack.com" target="_blank" rel="noopener noreferrer nofollow ugc">https://chat.m5stack.com</a> does not provide uiflow 2.0 information by default. you have to tell it to do uiflow 2 and even then <strong>ITS STILL WRONG</strong>!</p>
<p dir="auto"><img src="/assets/uploads/files/1751122023831-c024916a-6984-4491-875b-7ce5a420bfa3-image-resized.png" alt="c024916a-6984-4491-875b-7ce5a420bfa3-image.png" class=" img-fluid img-markdown" /></p>
<pre><code>&gt;&gt;&gt; Timer.init(period=1000, mode=Timer.PERIODIC, callback=timer_callback)
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: function missing 1 required positional arguments
</code></pre>
<p dir="auto">this is ridiculous. can we just get ANY sort of documentation??</p>
]]></description><link>https://community.m5stack.com/post/29352</link><guid isPermaLink="true">https://community.m5stack.com/post/29352</guid><dc:creator><![CDATA[ph0sgene]]></dc:creator><pubDate>Sat, 28 Jun 2025 14:49:30 GMT</pubDate></item><item><title><![CDATA[Reply to Why have switch and button widgets been removed from uiflow on Sat, 28 Jun 2025 00:05:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/290474">@yuyun2000</a><br />
the syntax for this is all wrong. neither example worked in uiflow2 and i cant find the api reference</p>
<pre><code class="language-py"> _   _(_)/ _| | _____      __
| | | | | |_| |/ _ \ \ /\ / /
| |_| | |  _| | (_) \ V  V / 
 \__,_|_|_| |_|\___/ \_/\_/  V2.3.0

[INFO] Syncing resources...
[INFO] WiFi connected!
Traceback (most recent call last):
  File "main.py", line 7, in &lt;module&gt;
AttributeError: 'Touch' object has no attribute 'getTouch'
</code></pre>
]]></description><link>https://community.m5stack.com/post/29350</link><guid isPermaLink="true">https://community.m5stack.com/post/29350</guid><dc:creator><![CDATA[ph0sgene]]></dc:creator><pubDate>Sat, 28 Jun 2025 00:05:20 GMT</pubDate></item><item><title><![CDATA[Reply to Why have switch and button widgets been removed from uiflow on Wed, 18 Jun 2025 09:14:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/299622">@ph0sgene</a><br />
To create custom buttons using touch coordinates and visual elements (like rectangles or images) in UIFlow 2 for your Paper S3 (SKU: C139), you can follow these steps:</p>
<p dir="auto">Use Touch Coordinates:</p>
<p dir="auto">The Paper S3 has a touchscreen, and you can detect touch events by checking the coordinates where the screen is touched.<br />
Example code snippet in MicroPython:import M5<br />
from M5 import Widgets</p>
<p dir="auto">def on_touch(x, y):<br />
if 100 &lt;= x &lt;= 200 and 100 &lt;= y &lt;= 200:  # Define your button area<br />
print("Button pressed!")</p>
<p dir="auto">M5.begin()<br />
Widgets.fillScreen(0x222222)<br />
label = Widgets.Label("Touch the screen", 50, 50, 1.0, 0xffffff, 0x222222, Widgets.FONTS.DejaVu24)</p>
<p dir="auto">while True:<br />
if M5.Touch.getTouch():<br />
x, y = M5.Touch.getX(), M5.Touch.getY()<br />
on_touch(x, y)<br />
M5.update()</p>
<p dir="auto">Visual Elements:</p>
<p dir="auto">You can draw rectangles or images to represent buttons on the screen.<br />
Example to draw a rectangle as a button:import M5<br />
from M5 import Widgets</p>
<p dir="auto">M5.begin()<br />
Widgets.fillScreen(0x222222)<br />
button = Widgets.Rectangle(100, 100, 100, 50, 0x00ff00, 0x222222)  # Green rectangle</p>
<p dir="auto">while True:<br />
if M5.Touch.getTouch():<br />
x, y = M5.Touch.getX(), M5.Touch.getY()<br />
if 100 &lt;= x &lt;= 200 and 100 &lt;= y &lt;= 150:  # Check if touch is within the rectangle<br />
print("Button pressed!")<br />
M5.update()</p>
<p dir="auto">Images as Buttons:</p>
<p dir="auto">You can also use images as buttons by loading an image and checking if the touch coordinates fall within the image bounds.</p>
<p dir="auto">Additional Notes:</p>
<p dir="auto">The above examples are simplified. You may need to adjust the coordinates and logic based on your specific requirements.<br />
For more advanced features, refer to the Paper S3 documentation.</p>
<p dir="auto">reply with <a href="https://chat.m5stack.com/" target="_blank" rel="noopener noreferrer nofollow ugc">https://chat.m5stack.com/</a></p>
]]></description><link>https://community.m5stack.com/post/29270</link><guid isPermaLink="true">https://community.m5stack.com/post/29270</guid><dc:creator><![CDATA[yuyun2000]]></dc:creator><pubDate>Wed, 18 Jun 2025 09:14:39 GMT</pubDate></item><item><title><![CDATA[Reply to Why have switch and button widgets been removed from uiflow on Tue, 17 Jun 2025 18:08:02 GMT]]></title><description><![CDATA[<p dir="auto">i have a paper s3 coming and have been learning the ide while waiting for it. (trying to)</p>
<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/195275">@peolsolutions</a> said in <a href="/post/29132">Why have switch and button widgets been removed from uiflow</a>:</p>
<blockquote>
<p dir="auto">Users can now create custom buttons using touch coordinates and visual elements such as rectangles or images. This method offers greater customization, but requires more manual effort to set up.</p>
</blockquote>
<p dir="auto">thats great and all.. but HOW do you do it? there is <strong>zero documentation</strong> or examples i can find anywhere.</p>
<p dir="auto">this is completely unhelpful<br />
<a href="https://uiflow-micropython.readthedocs.io/en/latest/search.html?q=touch" target="_blank" rel="noopener noreferrer nofollow ugc">https://uiflow-micropython.readthedocs.io/en/latest/search.html?q=touch</a></p>
<p dir="auto">the only touch docs on the site are for uiflow 1 which also doesnt help.</p>
<p dir="auto"><img src="/assets/uploads/files/1750183582096-508bc92b-fcc0-41dd-8a22-246c2c8dd41d-image-resized.png" alt="508bc92b-fcc0-41dd-8a22-246c2c8dd41d-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.m5stack.com/post/29265</link><guid isPermaLink="true">https://community.m5stack.com/post/29265</guid><dc:creator><![CDATA[ph0sgene]]></dc:creator><pubDate>Tue, 17 Jun 2025 18:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to Why have switch and button widgets been removed from uiflow on Fri, 30 May 2025 07:50:06 GMT]]></title><description><![CDATA[<p dir="auto">A major redesign was undertaken with the release of UiFlow 2.0, which removed switch and button widgets. The platform has been redesigned with a more flexible, code-driven approach, allowing for more low-level touch handling over prebuilt UI elements. Users can now create custom buttons using touch coordinates and visual elements such as rectangles or images. This method offers greater customization, but requires more manual effort to set up. A number of users hope that built-in widgets will return in future updates.</p>
]]></description><link>https://community.m5stack.com/post/29132</link><guid isPermaLink="true">https://community.m5stack.com/post/29132</guid><dc:creator><![CDATA[peolsolutions]]></dc:creator><pubDate>Fri, 30 May 2025 07:50:06 GMT</pubDate></item></channel></rss>