-
文本类控件 (TextView的介绍)
2016-03-04 09:05:25Android中的文本框组件可以显示单行文本,多行文本,也可以显示带图像的文本 使用的2中方法 1 java代码中通过new关键字创建 2 XML布局中使用 方法: 列表属性> 常用属性 text 文本内容 textSize ...TextView的作用:用于在屏幕上显示文本
Android中的文本框组件可以显示单行文本,多行文本,也可以显示带图像的文本
使用的2中方法
1 java代码中通过new关键字创建
2 XML布局中使用
方法:
<TextView
列表属性>
</TextView>
常用属性
text 文本内容
textSize 字体大小尺寸
textColor 字体颜色
textStyle 字体格式
hint 默认提示的文本
详细的属性
android:singleLine="true" true设置输入的字体为单行
android:lines="3" 设置输入的行数
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
android:bufferType指定getText()方式取得的文本类别。选项editable类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。spannable则可在给定的字符区域使用样式,参见这里1、这里2。
android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。
android:cursorVisible设定光标为显示/隐藏,默认显示。
android:digits设置允许输入哪些字符。如”1234567890.+-*/% ()”
android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft在text的左边输出一个drawable,如图片。
android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:drawableRight在text的右边输出一个drawable。
android:drawableTop在text的正上方输出一个drawable。
android:editable设置是否可编辑。
android:editorExtras设置文本的额外的输入数据。
android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—-省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee”——以跑马灯的方式显示(动画横向移动)
android:freezesText设置保存文本的内容以及光标的位置。
android:gravity设置文本位置,如设置成”center”,文本将居中显示。
android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在 EditView中使用,但是这里也可以用。
android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个”完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。
android:imeActionId设置IME动作ID。
android:imeActionLabel设置IME动作标签。
android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。
android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。
android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。
android:linksClickable设置链接是否点击连接,即使设置了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表示无限次。
android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度
android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxLength限制显示的文本长度,超出部分不显示。
android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:minLines设置文本的最小行数,与lines类似。
android:lineSpacingExtra设置行间距。
android:lineSpacingMultiplier设置行间距的倍数。如”1.2″
android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。
android:password以小点”.”显示文本
android:phoneNumber设置为电话号码的输入方式。
android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。
android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。 TextView中设置后无效果。
android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。
android:shadowDx设置阴影横向坐标开始位置。
android:shadowDy设置阴影纵向坐标开始位置。
android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用”…”来表示。如android:text=”test_ singleLine ”
android:singleLine=”true” android:layout_width=”20dp”将只显示”t…”。如果不设置singleLine或者设置为false,文本将自动换行
android:text设置显示文本.
android:textAppearance设置文字外观。如“?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor设置文本颜色
android:textColorHighlight被选中文字的底色,默认为蓝色
android:textColorHint设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink文字链接的颜色.
android:textScaleX设置文字之间间隔,默认为1.0f。
android:textSize设置文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2]可以设置一个或多个,用”|”隔开
android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体)3]
android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight设置文本区域的最大高度
android:minHeight设置文本区域的最小高度
android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
android:maxWidth设置文本区域的最大宽度
android:minWidth设置文本区域的最小宽度
-
文本类控件(EditView 的介绍)
2016-03-04 09:18:30Android的编辑框组件组件可以输入单行文本,多行文本,指定格式文本(密码,邮箱地址等) 2中使用方法 1 java代码中通过new关键字创建 2 XML布局中添加编辑, 格式: 属性列表 > android:hint 设置EditText为空时...EditView的作用:用于在屏幕上显示文本输入框
Android的编辑框组件组件可以输入单行文本,多行文本,指定格式文本(密码,邮箱地址等)
2中使用方法
1 java代码中通过new关键字创建
2 XML布局中添加编辑,
格式:<EditText
属性列表
></EditView>
编辑用的时候有个下划线
去掉下划线
android:background="@null"
输入的类型
android:inputType="number" 这个是数字格式,
其他的ecplise提示的有可以用快捷键查看
例如: android:inputType="textPassword"
好多属性和TextView一样都能用,
下面把笔记的拿出来,来自那就忘记了,大家看看参考下
属性名称
描述
android:autoLink
设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。
可选值(none/web/email/phone/map/all)。
这里只有在同时设置text时才自动识别链接,后来输入的无法自动识别。
android:autoText
自动拼写帮助。这里单独设置是没有效果的,可能需要其他输入法辅助才行,
效果参见视频 。
android:bufferType
指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,
也就是说getText后可调用append方法设置文本内容。
spannable 则可在给定的字符区域使用样式,参见这里1 、这里2 。
android:capitalize
设置英文字母大写类型。设置如下值:sentences仅第一个字母大写;
words每一个单词首字母大小,用空格区分单词
;characters每一个英文字母都大写。
在模拟器上用PC键盘直接输入可以出效果,但是用软键盘无效果。
android:cursorVisible
设定光标为显示/隐藏,默认显示。
如果设置false,即使选中了也不显示光标栏。
android:digits
设置允许输入哪些字符。如“1234567890.+-*/%\n()”
android:drawableTop
在text的正上方输出一个drawable。
在EditView中的效果比较搞笑:居然在文本框里,而且删不了。
android:drawableBottom
在text的下方输出一个drawable,如图片。
如果指定一个颜色的话会把text的背景设为该颜色,
并且同时和background使用时覆盖后者。
android:drawableLeft
在text的左边输出一个drawable(如图片)。
android:drawablePadding
设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、
drawableTop、drawableBottom一起使用,可设置为负数,
单独使用没有效果。
android:drawableRight
在text的右边输出一个drawable,如图片。
android:editable
设置是否可编辑。仍然可以获取光标,但是无法输入。
android:editorExtras
指定特定输入法的扩展,如“com.mydomain.im.SOME_FIELD”。
源码跟踪至EditorInfo.extras,暂无相关实现代码。
android:ellipsize
设置当文字过长时,该控件 该如何显示。
有如下值设置:”start”—–省略号显示在开头;
”end”——省略号显示在结尾;”middle”—-省略号显示在中间;
”marquee” ——以跑马灯 的方式显示(动画 横向移动)
android:freezesText
设置保存文本的内容以及光标的位置。
android:gravity
设置文本位置,如设置成“center”,文本将居中显示。
android:hint
Text为空时显示的文字提示信息,
可通过textColorHint设置提示信息的颜色。
android:imeOptions
设置软键盘的Enter键。
有如下值可设置:normal,actionUnspecified,actionNone,actionGo
,actionSearch,actionSend,actionNext,actionDone
,flagNoExtractUi,flagNoAccessoryAction,flagNoEnterAction。可用’|’设置多个。
<EditText android:id="@+id/txtTest" android:imeOptions="actionGo"
android:layout_width="100dp" android:layout_height="wrap_content">
</EditText>
((EditText)findViewById(R.id.txtTest)).setOnEditorActionListener(
new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v,
int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_GO) {
Toast.makeText(TestActivity.this, "你点了Go!",
Toast.LENGTH_SHORT).show();
}
return false;
}
});
android:imeActionId
设置IME动作ID,在onEditorAction中捕获判断进行逻辑操作。
android:imeActionLabel
设置IME动作标签。但是不能保证一定会使用,
猜想在输入法扩展的时候应该有用。
android:includeFontPadding
设置文本是否包含顶部和底部额外空白,默认为true。
android:inputMethod
为文本指定输入法,需要完全限定名(完整的包名)。
例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。
android:inputType
设置文本的类型,用于帮助输入法显示合适的键盘类型。
有如下值设置:none、text、 textCapCharacters字母大小、
textCapWords单词首字母大小、textCapSentences仅第一个字母大小、
textAutoCorrect、textAutoComplete自动完成、textMultiLine多行输入、
textImeMultiLine输 入法多行(如果支持)、textNoSuggestions不提示、
textEmailAddress电子邮件地址、textEmailSubject邮 件主题、
textShortMessage短信息(会多一个表情按钮出来,点开如下图:
)、textLongMessage长讯息?、textPersonName人名、
textPostalAddress地址、textPassword密码、textVisiblePassword可见密码、
textWebEditText作为网页表单的文本、textFilte文本筛选过滤、
textPhonetic拼音输入、numberSigned有符 号数字格式、
numberDecimal可带小数点的浮点格式、phone电话号码、
datetime时间日期、date日期、time时间。部分参考这里 。
android:marqueeRepeatLimit
在ellipsize指定marquee的情况下,设置重复滚动的次数,
当设置为marquee_forever时表示无限次。
android:ems
设置TextView的宽度为N个字符的宽度。
参见TextView中此属性的截图。
android:maxEms
设置TextView的宽度为最长为N个字符的宽度。
与ems同时使用时覆盖ems选项。
android:minEms
设置TextView的宽度为最短为N个字符的宽度。
与ems同时使用时覆盖ems选项。
android:maxLength
限制输入字符数。
如设置为5,那么仅可以输入5个汉字/数字/英文字母。
android:lines
设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines
设置文本的最大显示行数,与width或者layout_width结合使用,
超出部分自动换行,超出行数将不显示。
android:minLines
设置文本的最小行数,与lines类似。
android:linksClickable
设置链接是否点击连接,即使设置了autoLink。
android:lineSpacingExtra
设置行间距。
android:lineSpacingMultiplier
设置行间距的倍数。如”1.2”
android:numeric
如果被设置,该TextView有一个数字输入法。
有如下值设置:integer正整数、signed带符号整数、
decimal带小数点浮点数。
android:password
以小点”.”显示文本
android:phoneNumber
设置为电话号码的输入方式。
android:privateImeOptions
提供额外的输入法选项(字符串格式)。
依据输入法而决定是否提供,如这里 所见。自定义输入法继承
InputMethodService。android:scrollHorizontally
设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus
如果文本是可选择的,让他获取焦点而不是将光标移动为
文本的开始位置或者末尾位置。
TextView中设置后无效果。
android:shadowColor
指定文本阴影的颜色,需要与shadowRadius一起使用。
参见TextView中此属性的截图。
android:shadowDx
设置阴影横向坐标开始位置。
android:shadowDy
设置阴影纵向坐标开始位置。
android:shadowRadius
设置阴影的半径。设置为0.1就变成字体的颜色了,
一般设置为3.0的效果比较好。
android:singleLine
设置单行显示。如果和layout_width一起使用,
当文本不能全部显示时,后面用“…”来表示。
如 android:text="test_ singleLine "
android:singleLine="true" android:layout_width="20dp"将只显示“t…”。
如果不设置singleLine或者设置为false,文本将自动换行
android:text
设置显示文本.
android:textAppearance
设置文字外观。如“?android:attr/textAppearanceLargeInverse
”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,
否则使用默认的外观。可设置的值如 下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge
/textAppearanceLargeInverse/textAppearanceMedium/
textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor
设置文本颜色
android:textColorHighlight
被选中文字的底色,默认为蓝色
android:textColorHint
设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink
文字链接的颜色.
android:textScaleX
设置文字之间间隔,默认为1.0f。参见TextView的截图。
android:textSize
设置文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle
设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
android:typeface
设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
android:height
设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight
设置文本区域的最大高度
android:minHeight
设置文本区域的最小高度
android:width
设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里 。
android:maxWidth
设置文本区域的最大宽度
android:minWidth
设置文本区域的最小宽度
-
Android根据文本最后一行的宽度 , 显示其他控件
2020-05-21 16:58:32当文本为多行时, 且最后一行文本宽度小于可显示宽度的2/3时 时间戳显示与最后一行后部 但时间戳的最后一行大于可显示宽度的2/3时 换行显示 探索 如何实现这样的功能 1.判断最后一行的宽度 2.准备不同位置的时间戳...需求
1.常见于聊天列表
2.样式如图:
当文本为单行且文本宽度小于最大可显示宽度的2/3时
时间戳显示与文本后部
当文本为多行时, 且最后一行文本宽度小于可显示宽度的2/3时
时间戳显示与最后一行后部
但时间戳的最后一行大于可显示宽度的2/3时
换行显示探索
如何实现这样的功能
1.判断最后一行的宽度
2.准备不同位置的时间戳显示 , 默认隐藏
3.tv_content.getLayout().getLineWidth(tv_content.getLineCount() - 1);
获取最后一行文本宽度
4.在adapter中对tv_content.post(run);
5.问题 : getLayout()方法在recycleView的复用机制里因为被回收会报空指针异常
6.取消复用(嵌套NestedScrollView并设置recycleView的android:nestedScrollingEnabled="false"
)
7.捡了芝麻丢了西瓜改进
封装一个文本内容 , 在文本绘制完成后会调用onMeasure方法 , 在方法中添加回调 , 以此来通知列表文本显示完成
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); if (measureCallBack != null) { measureCallBack.measure(); } }
全部代码
1.添加ChatContentView.class
public class ChatContentView extends android.support.v7.widget.AppCompatTextView { public ChatContentView(Context context) { this(context, null); } public ChatContentView(Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public ChatContentView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); initView(context, attrs, defStyleAttr); } private void initView(Context context, AttributeSet attrs, int defStyleAttr) { setMaxWidth(DensityUtil.dip2px(context, 214)); // 文本最宽显示宽度 setTextSize(13); setTextColor(Color.parseColor("#ff0d0c0c")); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); if (measureCallBack != null) { measureCallBack.measure(); } } MeasureCallBack measureCallBack; public void setMeasureCallBack(MeasureCallBack measureCallBack) { this.measureCallBack = measureCallBack; } interface MeasureCallBack { void measure(); } }
2.布局中使用
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <com.mvp.org.im.ChatContentView android:id="@+id/tv_content" android:layout_width="wrap_content" android:layout_height="wrap_content"></com.mvp.org.im.ChatContentView> <TextView android:id="@+id/tv_time1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:layout_marginTop="5dp" android:layout_toRightOf="@+id/tv_content" android:drawableLeft="@drawable/icon_message_lock" android:drawablePadding="4dp" android:gravity="center" android:text="下午06:03" android:textColor="#ffcfcfcf" android:textSize="10sp" android:visibility="gone" /> <TextView android:id="@+id/tv_time2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/tv_content" android:layout_alignRight="@+id/tv_content" android:layout_marginLeft="8dp" android:layout_marginTop="5dp" android:drawableLeft="@drawable/icon_message_lock" android:visibility="gone" android:drawablePadding="4dp" android:gravity="center" android:text="下午06:03" android:textColor="#ffcfcfcf" android:textSize="10sp" /> <TextView android:id="@+id/tv_time3" android:visibility="gone" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tv_content" android:layout_alignRight="@+id/tv_content" android:layout_marginLeft="8dp" android:layout_marginTop="5dp" android:drawableLeft="@drawable/icon_message_lock" android:drawablePadding="4dp" android:gravity="center" android:text="下午06:03" android:textColor="#ffcfcfcf" android:textSize="10sp" /> </RelativeLayout> </LinearLayout>
3.RecycleView的adapter中使用
TextView tv_time1 = h.getView(R.id.tv_time1); TextView tv_time2 = h.getView(R.id.tv_time2); TextView tv_time3 = h.getView(R.id.tv_time3); ChatContentView tv_content = h.getView(R.id.tv_content); tv_content.setText(entity); tv_content.setMeasureCallBack(() -> { float width = tv_content.getLayout().getLineWidth(tv_content.getLineCount() - 1); if (tv_content.getLineCount() <= 1 && width < DensityUtil.dip2px(context, 214) * 2 / 3) { tv_time1.setVisibility(View.VISIBLE); tv_time2.setVisibility(View.GONE); tv_time3.setVisibility(View.GONE); } else if (width < DensityUtil.dip2px(context, 214) * 2 / 3) { tv_time2.setVisibility(View.VISIBLE); tv_time1.setVisibility(View.GONE); tv_time3.setVisibility(View.GONE); } else { tv_time3.setVisibility(View.VISIBLE); tv_time2.setVisibility(View.GONE); tv_time1.setVisibility(View.GONE); } });
注意
本文只是大致显示了时间戳位置的判断
如需精确,可在setMeasureCallBack回调中获取时间戳的宽度
如果时间戳的宽度+文本最后一行的宽度>文本的maxWidth -
Python tkinter -- 第14章 列表框(Listbox)属性
2019-09-12 22:58:37列表框控件显示多行文本,用户可以选中一行或者多行。所有的文本只能使用一种字体,不能混合使用多种字体。 14.1 属性 常用的参数列表如下: 属性 描述 activestyle 被选中的文本的样式:underline: 下划线...第14章 列表框(Listbox)
列表框控件显示多行文本,用户可以选中一行或者多行。所有的文本只能使用一种字体,不能混合使用多种字体。
14.1 属性
常用的参数列表如下:属性 描述 activestyle 被选中的文本的样式:
underline: 下划线
dotbox:点划线框
none: 没有任何的样式background
bg背景颜色。默认是系统指定颜色 borderwidth
bd边框宽度。一般是1~2个像素值。 cursor 当鼠标移动经过列表框的时候,显示的光标样式 disabledforeground 列表框被禁止使用的时候的背景颜色 exportselection 默认是1。 font 列表框中文字的字体。只能选择一种字体显示。 foreground
fg 列表框中文字的颜色height 设置列表框的高度。默认值是10。 highlightbackground 当列表框失去焦点的时候,边框的高亮颜色 highlightcolor 当列表框获得焦点的时候,边框的高亮颜色 highlightthickness 设置高亮边框的宽度 listvariable 设置listvariable属性 relief 边框的美化效果。默认值是SUNKEN,其他的可选项包括:FLAT, RAISED, GROOVE, and RIDGE selectbackground 选中的条目背景颜色 selectborderwidth 选中的条目,会用一个虚线的矩形框住。此参数定义矩形边框的宽度。默认值是1。 selectforeground 选中条目的文本颜色 selectmode 选择模式:
MULTIPLE为多选
BROWSE:通过鼠标的移动选择
SINGLE:只能选一行。鼠标不能拖动选择。
EXTENDED:shift和ctrl配合使用takefocus 标识用户是否能够使用Tab键移动焦点到标签上。默认是空字符串,也就是只有使用热键才能选中该按钮。 state 标签的状态,包括:NORMAL或者 DISABLED width 设置列表框的宽度。默认值为20 xscrollcommand 与滚动条组件相关联(水平方向).使用方法可以参考:Scrollbar 组件 yscrollcommand 与滚动条组件相关联(垂直方向).使用方法可以参考:Scrollbar 组件 14.1.1 activestyle
设置列表框被选中的文本行的显示效果。有三种:
underline: 下划线
dotbox:点划线虚框
none: 没有显示效果import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,activestyle='dotbox') for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
14.1.2 background(bg)
设置列表框背景颜色。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,bg='green') for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
14.1.3 borderwidth(bd)
设置列表框的边框宽度。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,bd=10) for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
14.1.4 cursor
鼠标位于列表框区域时,鼠标的形状。详细的cursor说明见3.3.6节。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,cursor='spider') for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
14.1.5 disabledforeground
列表框的状态为tk.DISABLED时,列表框的文本颜色。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,disabledforeground='red') for i in range(1,11): b1.insert(tk.END,i) b1.pack() b1.config(state=tk.DISABLED) root.mainloop()
结果:
14.1.6 exportselection
决定是否可以复制选中的文本内容。如果exportselection=True,表示可以。exportselection=False,表示不可复制列表框中选中的选项。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,exportselection=0) for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
14.1.7 font
设置列表框字体。所有的文本只能有一种字体,不能混合多种字体。具体的文本说明见3.3.3节。
14.1.8 foreground(fg)
设置列表框中的文本颜色。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,fg='blue') for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
14.1.9 height
设置列表框的高度。单位是行。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,height=5) for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
设置列表框的高度。默认是10行。
14.1.10 highlightbackground、highlightcolor和highlightthickness
设置列表框获得或者失去输入焦点时候的边框颜色。这两种边框的宽度由highlightthickness设置。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,highlightbackground='blue', highlightcolor='red',highlightthickness=10) for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
14.1.11 listvariable
listvariable 可以与一个tk.StringVar()变量相关联。可以通过变量的get()方法,获得列表框中的所有的文本内容。也可以通过set(s)的方法来设置列表框中的内容。#获得列表框的内容 import tkinter as tk root=tk.Tk() root.geometry('300x240') content=tk.StringVar() b1=tk.Listbox(root,listvariable=content) for i in range(1,11): b1.insert(tk.END,i) b1.pack() print(content.get()) root.mainloop()
#设置列表框中的内容 import tkinter as tk root=tk.Tk() root.geometry('300x240') content=tk.StringVar() b1=tk.Listbox(root,listvariable=content) for i in range(1,11): b1.insert(tk.END,i) b1.pack() def lst(): content.set('abc def "c c" c bbb') b2=tk.Button(root,text='Set',command=lst) b2.pack() root.mainloop()
结果:
说明:
(1)使用set(s)会取代以前的列表框中的内容
(2)s是用空格分隔的字符串。多个空格会被认为是1个。如果选项中需要有空格,请用引号把这个字符串括起来。比如”c c”。
14.1.12 relief
设置列表框边框的3D效果。见3.3.5节的说明
14.1.13 selectbackground
选中条目的背景颜色。默认值是蓝色。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,selectbackground='red') for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
14.1.14 selectborderwidth
表示选中的矩形的边框宽度。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,selectborderwidth=5) for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
说明:可以看到间距明显比不设置selectborderwidth加大了。
14.1.15 selectforeground
选中后的文本颜色。目前是反白的显示,也可以通过selectforeground来设定。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,selectforeground='red') for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
结果:
14.1.16 selectmode
设定列表框中条目的选择模式:
(1)tk.BROWSE: 可以通过鼠标拖动的方式选择条目。一次只能选中一行
(2)tk.SINGLE: 一次只能选中一个条目。不支持鼠标拖动模式选择。
(3)tk.MULTIPLE: 可以选择多个条目。如果该条目已经选中,再次点击变为未选中
(4)tk.EXTENDED :支持使用如下模式选择:
拖动选择。鼠标拖动,在鼠标经过的条目都被选中
Shift:先鼠标点击选中一个条目,然后按照shift键,鼠标点击另外的条目,则这2个条目之间的所有条目都被选中
Ctrl: 按住ctrl键,同时点击一个条目,则该条目被选中。一次只能增加一个被选中的条目。如果该条目已经被选中,则状体变为未选中。import tkinter as tk root=tk.Tk() root.geometry('300x240') b1=tk.Listbox(root,selectmode=tk.SINGLE) for i in range(1,11): b1.insert(tk.END,i) b1.pack() root.mainloop()
14.1.17 takefocus
设置是否可以通过Tab移动输入焦点到列表框上。
14.1.18 state
设置列表框的状态。有二种:DISABLED或者NORMAL。
14.1.19 width
设置列表框的宽度。默认是20个字符。
14.1.20 xscrollcommand
设置水平滚动条。详细的用法见yscrollcommand。
14.1.21 yscrollcommand
设置垂直滚动条。import tkinter as tk root=tk.Tk() root.geometry('300x240') content=tk.StringVar() content.set('1 2 3 jjjjjjjjjjjjjjjjjjjjjjjjjjj\ jjjjjjjjjjjjjj 4 5 6 7 8 9 10') f=tk.Frame(root) s1 = tk.Scrollbar(f,orient=tk.HORIZONTAL) s2 = tk.Scrollbar(f,orient=tk.VERTICAL) b1 = tk.Listbox(f,width=10,height=5,listvariable=content, xscrollcommand=s1.set,yscrollcommand=s2.set) s1.pack(side=tk.BOTTOM,fill=tk.X) s1.config(command=b1.xview) s2.pack(side=tk.RIGHT,fill=tk.Y) s2.config(command=b1.yview) b1.pack() f.pack() root.mainloop()
结果:
-
Python-tkinter基础之控件
2020-09-28 11:49:05文章目录前言一、tkinter控件 前言 在Tkinter中控件的使用都是基于如下的形式的:控件类型(根对象, [属性列表]),在控件定义好之后就需要将其添加到主界面上去。通常使用的布局方法便是pack()函数,没有...多行文本输 -
Python tkinter - 第六章 输入控件(Entry)&属性
2019-09-07 10:42:29第6章输入控件(Entry) 输入控件(Entry. 是用来输入或者显示单行字符串的控件。该控件允许用户输入或显示一行文字。...如果你想要输入多行文本, 就需要使用Text 控件。 6.1 属性 6.1.1 属性列表 属性参数 ... -
c#窗体学习——常用控件介绍(一)
2018-11-20 23:33:19一.常用控件 Lable标签→仅显示文本; TextBox文本控件→文本框; Button按钮控件→按钮(开关);... ListBox列表框控件→列表框,类似于多行文本框; ComboBox组合控件→下拉选择框; MessageBox.Sh... -
判断控件_【自学C#】|| 笔记 30 控件,表单
2021-01-14 23:53:38所谓控件就是人们常说的能输入文本的位置、能选择的位置、能单击的位置、图片显示的位置等。其中:能输入文本的位置对应于 Windows 窗体应用程序中的文本框、多行文本框等。能选择的位置对应于 Windows 窗体应用程序... -
超漂亮的VB界面控件集.rar
2019-07-10 17:09:37vkListBox列表框控件; checkboxes支持图标的多选按钮; vkLabel标签控件; vkCommand按钮控件(类似XP图标风格); vkToggleButton计数按钮和切换按钮控件; vkTextBox文本框控件 vkVScroll ... -
用HTML控件实现注册与登录页面
2013-05-17 08:43:10要运用文本框、单选框、复选框、下拉列表、多行文本框、按钮、文件上传等控件实现注册页面,点击提交按钮后讲用户填写的信息以文本的形式显示出来。 2、用HTML控件实现简单的用户登录页面 运用文本框、label、按钮... -
python爬去音乐_python爬去音乐
2020-11-29 21:02:58广告关闭腾讯云11.11云上......entry 输入控件:用于显示简单的文本内容label 标签控件listbox 列表框控件,显示字符串返回给用户text 文本控件,显示多行文本软件目标开发一款音乐下载器通过爬虫获取音乐解析网上... -
C#开发之——控件简介(12.6)
2020-07-29 17:20:56在Windows窗体应用程序中每个窗体都是由若干个控件构成的,所谓的控件就是人们常说的能输入文本的位置、能选择的位置、能单击的位置、图片显示的位置等。其中: 能输入文本的位置对应于Windows窗体应用程序中的... -
C++_Builder常用的属性及方法_Rio.pdf
2020-11-24 10:44:08C++Builder控件常用属性 2011.7.13 文本输入组件 单行文本Edit, MaskEdit >窗口控件 多行文本Memo, RichEdit 另外可文本显示Label Edit控件属性列表 1, (String) Text 用于获取编辑框中的文本字符串 2, (Integer) ... -
如何在各类控件中输入/输出数据(学习笔记)
2018-10-17 12:55:00显示一个可编辑的文本框,其中包含一个允许值下拉列表。 ②日历框(DateTimePick) 允许用户选择日期和时间,并以指定的格式显示该日期和时间。 ③文本框(TextBox) 允许用户输入文本,并提供多行编辑和密码... -
星尘小组第六周学习笔记—如何在各类控件中输入/输出数据
2019-04-12 09:01:00显示一个可编辑的文本框,其中包含一个允许值下拉列表。 ②日历框(DateTimePick) 允许用户选择日期和时间,并以指定的格式显示该日期和时间。 ③文本框(TextBox) 允许用户输入文本,并提供多行编辑... -
【第6周学习笔记】如何在各类控件中输入\输出数据
2019-04-07 22:06:10显示一个可编辑的文本框,其中包含一个允许值下拉列表。 2.文本框(TextBox) 允许用户输入文本,并提供多行编辑和密码字符掩码功能。 3.单选按钮(RadioButton) 当与其他单选按钮成对出现时,允许用户从一组... -
第六周学习笔记之如何在各类控件中实现输入/输出数据
2018-10-17 20:52:16显示一个可编辑的文本框,其中包含一个允许值下拉列表。 ②日历框(DateTimePick) 允许用户选择日期和时间,并以指定的格式显示该日期和时间。 ③文本框(TextBox) 允许用户输入文本,并提供多行编辑和密码... -
Servlet的读取和显示功能
2018-04-18 18:45:59标签及相关控件,包含:单行文本框,多行文本区,单选按钮,复选框,下拉列表等。第二步:创建DealRegXXX.java,重写doPost()方法,在其中读取用户输入的所有信息,在读取信息之前,先进行编码转换:request.set... -
表格视图,文本视图和Web视图
2011-05-25 16:56:00例如,表格视图可以用来显示简短的选项列表,详细信息的分组列表或者长的项目索引列表。文本视图和web视图相对来说可以不受约束地接受和显示内容。 表格视图 表格视图通过多行单列的表格呈现数据。行可以被分为... -
form表单
2016-05-31 22:13:00form表单里面的fieldset标记,用于给表单添加外边框,legend标记为表单...表单的控件主要包括input控件、下拉列表select控件、多行文本框textarea控件。 <form method="get/post" action="处理表单的网页" enct... -
thinker的一些笔记
2020-12-13 21:55:56thinker的一些笔记 控件 名称 作用 ...绘制图形或绘制特殊控件 ...用于控件分组 ...多行文本标签,与Label 用法类似 Radiobutton 单选按钮 从互斥的多个选项中做单项选择 Scale 滑块 默认垂直方向,鼠 -
任务二 用户注册界面设计
2018-01-22 13:14:25(1)EditText控件详解 ...编辑框可以输入单行文本,也可以输入多行文本,还可以指定是的文本(如密码、电话号码、日期等)。编辑框的基本语法格式如下。 属性列表 /> XML属 性 -
VC++ CListCtrl自绘前序
2020-01-12 12:59:05CListCtrl在日常项目应用中非常普遍...3、单元格内容具有文本编辑、下拉列表选择、日期选择、进度条、按钮、文本超链接、多行文本显示、图像缩略图显示等等功能,总之单元格可能具备我们常见所有控件的一切功能,要... -
DELPHI 表格控件DBGridEh史上最全使用资料(101页)
2013-06-03 20:45:502) 文本多行显示.........................................................................................................30 3) 显示备注字段................................................................. -
编写开发环境很难吗(二)
2020-12-26 09:07:00下图看到的是常用控件,比如标签、文本框、多行文本、分组框、分页框 下图看到的是扩展功能的文本框,主要用于搜索条件,可以指定单值,范围,或不连续的搜索范围 下图呈现的是单选框、多选框、按钮和列表... -
实战PyQt5: 013-文本编辑控件QTextEdit
2020-11-13 10:50:11QTextEdit是一个用于编辑和显示纯文本和富文本(如HTML文档)的部件,它支持多行文本, 可现实和编辑多行文本内容, QTextEdit可以显示图像,列表和表格。当文本内容超出显示范围的时候,会自动显示水平和(或)垂直滚动... -
Android Widget工具箱
2019-10-02 04:28:38Android提供了标准View的工具箱帮助你创建简单的界面。通过使用这些控件(修改或扩展,如果必要的话...它支持多行显示、字符串格式化和文本自动换行。 ❑ EditText 可编辑的文本输入框。它支持多行输入和文字换... -
HTML+CSS+javaScript基础知识(四)
2015-12-30 22:29:501.标签和标签 select元素可以创建单选或多选菜单。option元素定义下拉列表中的一个选项(一个条目)。 浏览器将标签中的内部作为标签的菜单或是滚动列表中...textarea元素定义多行的文本输入控件。可以通过rows和cols
-
HashMap 扩容过程图解
-
PFC汉语看help方法.rar
-
项目经理成长之路
-
linux基础入门和项目实战部署系列课程
-
华为1+X——网络系统建设与运维(中级)
-
第三阶段目录.docx
-
GITEE 英文版
-
职场生存焦虑—如何做到不可替代.pdf
-
aurix内存问题检测和修复
-
NvrTool20180601(1)(3).zip
-
NLP相关知识点问答总结(三)
-
MySQL 高可用(DRBD + heartbeat)
-
2021年1月汽车产销数据报告.pdf
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
python稀疏向量100分
-
【Python-随到随学】 FLask第一周
-
小程序商城项目的底部tabbar搭建是如此简单~~
-
owasp mantra.zip
-
Samba 服务配置与管理
-
Windows下批处理(BAT)修改文件名.txt