欢迎光临散文网 会员登陆 & 注册

Android QPython3 可视化-命令菜单:RadioCmd.py

2020-09-18 10:46 作者:乘着船  | 我要投稿

#需要BaseWindow.py  https://www.bilibili.com/read/cv8680125


from BaseWindow import *

RB="""

<RadioButton

    android:id="@+id/Radio%s"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:textSize="8dp"

    android:text="%s"

    android:background="#%s"

/>

"""

XML="""<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#3f7faf"

android:orientation="vertical"

xmlns:android="http://schemas.android.com/apk/res/android">

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:layout_weight="20">

<ScrollView   

        android:layout_width="fill_parent"   

        android:layout_height="fill_parent" > 

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

android:layout_weight="20">

    <TextView

android:id="@+id/Title"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:textSize="9dp"

android:text="%s"

android:textColor="#ffffff"

android:textStyle="bold"

android:layout_weight="1"

android:gravity="center"

/>

    <RadioGroup

        android:id="@+id/RadioGroup"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="vertical">

""","""

    </RadioGroup>

</LinearLayout>

</ScrollView>

    </LinearLayout>

<Button

android:layout_width="fill_parent"

android:layout_height="60dp"

android:text="%s"

android:id="@+id/but_canc"

android:textSize="8dp"

android:background="#007f00"

android:textColor="#ffffff"

android:layout_weight="1"

android:gravity="center"/>

</LinearLayout>"""

class MainScreen(Layout):

    def on_show(self):

        v=self.views

        for i in range(self.Count):

            c=v['Radio%s'%i]

            c.add_event(click_EventHandler(c,self.conf))

        i=v.but_canc
        c=i.add_event
        c(click_EventHandler(i,self.canc))
        c(key_EventHandler('4',i,self.canc))

    def on_close(self):

        pass

    def conf(self,view,dummy):

        MainScreen.Text=int(dummy['data']['id'][5:])

        FullScreenWrapper2App.close_layout()

    def canc(self,view,dummy):

        MainScreen.Text=None

        FullScreenWrapper2App.close_layout()

cmColor=('3f3f7f','7f007f')

def RadioCmd(Title='',Radio=(),Cancel='取消'):#主函数

#命令按钮组(标题,命令按钮文本组(命令按钮0,命令按钮1,……),取消按钮文本)

#点击“命令按钮n”返回整数n,点击“取消”返回None

    r=[XML[0]%Str2Xml(Title)];i=-1

    for i in range(len(Radio)):

        r.append(RB%(i,Str2Xml(Radio[i]),cmColor[i%2]))

    MainScreen.Count=i+1

    r.append(XML[1]%Cancel)

    r=''.join(r)

    FullScreenWrapper2App.show_layout(MainScreen(r,'Cmd'))

    FullScreenWrapper2App.eventloop()

    r=MainScreen.Text

    del MainScreen.Text

    return r

__all__=('RadioCmd','droid')


==========说明===========


RadioCmd('标题',('项目0','项目1','项目2'))

点击“项目n”返回整数n,点击“取消”返回None


作者:乘着船@Bilibili

更多文章+下载链接:https://www.bilibili.com/read/readlist/rl321663



Android QPython3 可视化-命令菜单:RadioCmd.py的评论 (共 条)

分享到微博请遵守国家法律