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

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

2020-12-06 21:31 作者:乘着船  | 我要投稿

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


from BaseWindow import *

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

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#7f3faf"

android:orientation="vertical"

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

<ScrollView   

        android:layout_width="fill_parent"   

        android:layout_height="50dp"

        android:layout_weight="1" > 

    <TextView

android:id="@+id/Title"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:textSize="10dp"

android:text="%s"

android:background="#af7f3f"

android:textColor="#ffffff"

android:textStyle="bold"

android:gravity="center"

/>

</ScrollView>

    <ListView

        android:id="@+id/listview"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_weight="20"

    />

<Button

android:layout_width="fill_parent"

android:layout_height="50dp"

android:text="%s"

android:id="@+id/but_canc"

android:textSize="8dp"

android:background="#3faf7f"

android:textColor="#ffffff"

android:layout_weight="1"

android:gravity="center"/>

</LinearLayout>"""

class MainScreen(Layout):

    def on_show(self):

        v=self.views

        v.listview.set_listitems(self.List)

        v.listview.add_event(itemclick_EventHandler(v.listview,self.conf))

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

    def on_close(self):

        pass

    def conf(self,view,dummy):

        MainScreen.List=int(dummy['data']['position'])

        FullScreenWrapper2App.close_layout()

    def canc(self,view,dummy):

        MainScreen.List=None

        FullScreenWrapper2App.close_layout()

def ListCmd(Title='',List=(),Cancel='取消'):#主函数

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

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

    MainScreen.List=List

    FullScreenWrapper2App.show_layout(MainScreen(XML%(Str2Xml(Title),Cancel),'Cmd'))

    FullScreenWrapper2App.eventloop()

    List=MainScreen.List

    del MainScreen.List

    return List

__all__=('ListCmd','droid')


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


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

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

视频:BV1Pz4y1C7ds


作者:乘着船@Bilibili

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


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

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