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

Android QPython3H 代码:制作简易GUI长文本框界面+控制台显示彩色文本

2020-03-22 10:13 作者:乘着船  | 我要投稿

#QPython 3C 现已支持 Python 3.11 → https://www.bilibili.com/read/cv13418026

#QPython3H/3C 制作简易GUI长文本框界面

#函数代码部分:

from androidhelper import Android
droid = Android()
from qsl4ahelper.fullscreenwrapper2 import * 
XML="""<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:background="#ff0E4200"
	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">	
 <EditText
  android:background="#ffffaf"
		android:id="@+id/editTitle"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:textSize="8dp"
		android:text=""
		android:textColor="#ff0000"
		android:layout_weight="1"
		android:gravity="center"
	/>
	<EditText
  android:background="#ffffff"
		android:id="@+id/editText"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:textSize="8dp"
		android:text=""
		android:textColor="#0000ff"
		android:layout_weight="1"
	/>
	</LinearLayout>
	</ScrollView>
    </LinearLayout>
	<LinearLayout
		android:layout_width="fill_parent"
		android:layout_height="100dp"
		android:orientation="horizontal"
		android:layout_weight="8">
	<Button
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"
		android:text="%s"
		android:id="@+id/but_conf"
		android:textSize="8dp"
		android:background="#007f7f"
		android:textColor="#ffffffff"
		android:layout_weight="1"
		android:gravity="center"/>
	<Button
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"
		android:text="%s"
		android:id="@+id/but_copy"
		android:textSize="8dp"
		android:background="#7f7f00"
		android:textColor="#ffffffff"
		android:layout_weight="1"
		android:gravity="center"/>
	<Button
		android:layout_width="fill_parent"
		android:layout_height="fill_parent"
		android:text="%s"
		android:id="@+id/but_canc"
		android:textSize="8dp"
		android:background="#7f007f"
		android:textColor="#ffffffff"
		android:layout_weight="1"
		android:gravity="center"/>
	</LinearLayout>
</LinearLayout>"""
class MainScreen(Layout):
    def on_show(self):
        self.views.but_conf.add_event(click_EventHandler(self.views.but_conf,self.conf))
        self.views.but_copy.add_event(click_EventHandler(self.views.but_copy,self.copy))
        self.views.but_canc.add_event(click_EventHandler(self.views.but_canc,self.canc))
        self.views.editText.text=self.Text
        self.views.editTitle.text=self.Title
    def on_close(self):
        pass
    def copy(self,view,dummy):
        droid.setClipboard(self.views.editText.text)
        droid.makeToast("文本已复制")
    def conf(self,view,dummy):
        MainScreen.Text=self.views.editText.text
        FullScreenWrapper2App.close_layout()
    def canc(self,view,dummy):
        MainScreen.Text=None
        FullScreenWrapper2App.close_layout()
def LongText(Title='',Text='',button=('确认','复制','取消')):#主函数
#长文本(标题,多行文本,(确认按钮文本,复制按钮文本,取消按钮文本))
#替代系统输入函数:input=LongText
    MainScreen.Title=Title
    MainScreen.Text=Text
    FullScreenWrapper2App.show_layout(MainScreen(XML%tuple(button),'Long'),
        FullScreenWrapper2App.SHOW_LAYOUT_REPLACING_CURRENT)
    FullScreenWrapper2App.eventloop()
    i=MainScreen.Text
    del MainScreen.Title,MainScreen.Text
    return i
FullScreenWrapper2App.initialize(droid)
__all__=('LongText','droid')

#举个例子:

input('按回车键继续1:')
print(LongText('测试1','文字1'))
input('按回车键继续2:')
print(LongText('测试2','文字2'))

#Bilibili AV97477124 part1

#最后修改:2021-10-21

#可视化GUI长文本框界面新写法(LongText.py):

#https://www.bilibili.com/read/cv7630909

#QPython 3H/3C 控制台显示彩色文本

#函数代码部分:

import sys
#数值表示的参数含义:
#显示方式:0(默认值),1(高亮),22(非粗体),4(下划线),24(非下划线),5(闪烁),25(非闪烁),7(反显),27(非反显)
#前景色:30(黑色),31(红色),32(绿色),33(黄色),34(蓝色),35(洋红),36(青色),37(白色)
#背景色:40(黑色),41(红色),42(绿色),43(黄色),44(蓝色),45(洋红),46(青色),47(白色)
Colors={
'不存在':'1;33;41',
'找不到':'1;33;44',
'出错':'1;31;43',
'导出':'7;33;40',
'修改':'1;34;43',
'姓名':'1;34;47',
'病号':'1;31;47',
'药':'1;32;40',
'回车':'1;37;45',
'数据库':'1;35;46',
}
_out1=sys.stdout.write
_out4=sys.stdout.flush
def _out2(i=''):
    for j in Colors:
        if j in i:
            i='\033[%sm%s\033[0m'%(Colors[j],i)
            break
    else:
        i='\033[1;36;40m%s\033[0m'%i
    _out1(i)
class _out3:
    flush=_out4
    write=_out2
sys.stdout=sys.stderr=_out3

#举个例子:

print('这是一个数据库')
print('药品信息查询')
print('病号管理')
print('Python版本:'+sys.version)

#Bilibili AV97477124 part2

#最后修改:2021-10-21


作者:乘着船@Bilibili

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


Android QPython3H 代码:制作简易GUI长文本框界面+控制台显示彩色文本的评论 (共 条)

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