个人主页:pp不会算法v
版权: 本文由【pp不会算法v】原创、在CSDN首发、需要转载请联系博主
如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
QML系列教程
QML教程一:布局组件
文章目录
- 单行输入框TextInput
-
- 多行输入框 TextArea
-
- 进度条ProgressBar
-
单行输入框TextInput
属性
属性 |
类型 |
说明 |
acceptableInput |
bool |
确定输入是否可接受 |
activeFocusOnPress |
bool |
按下时获得焦点 |
autoScroll |
bool |
自动滚动到最后 |
bottomPadding |
real |
底部填充 |
canPaste |
bool 只读 |
是否可以粘贴 |
canRedo |
bool 只读 |
是否可以重做操作 |
canUndo |
bool 只读 |
是否可以撤销操作 |
color |
color |
文本颜色 |
contentHeight |
real |
内容高度 |
contentWidth |
real |
内容宽度 |
cursorDelegate |
Component |
光标委托 |
cursorPosition |
int |
光标位置 |
cursorRectangle |
rectangle |
光标矩形 |
cursorVisible |
bool |
光标可见性 |
displayText |
string |
显示的文本 |
echoMode |
enumeration |
回显模式 |
effectiveHorizontalAlignment |
enumeration |
有效的水平对齐方式 |
font.bold |
bool |
字体加粗 |
font.capitalization |
enumeration |
字体大写方式 |
font.family |
string |
字体族 |
font.hintingPreference |
enumeration |
字体提示首选项 |
font.italic |
bool |
字体斜体 |
font.kerning |
bool |
字体字符间距 |
font.letterSpacing |
real |
字体字符间距 |
font.pixelSize |
int |
字体像素大小 |
font.pointSize |
real |
字体点大小 |
font.preferShaping |
bool |
字体首选形状 |
font.strikeout |
bool |
字体删除线 |
font.styleName |
string |
字体样式名称 |
font.underline |
bool |
字体下划线 |
font.weight |
enumeration |
字体粗细 |
font.wordSpacing |
real |
字体单词间距 |
horizontalAlignment |
enumeration |
水平对齐方式 |
inputMask |
string |
输入掩码 |
inputMethodComposing |
bool |
输入法组合模式 |
inputMethodHints |
enumeration |
输入法提示 |
leftPadding |
real |
左侧填充 |
length |
int |
文本长度 |
maximumLength |
int |
最大长度 |
mouseSelectionMode |
enumeration |
鼠标选择模式 |
overwriteMode |
bool |
覆盖模式 |
padding |
real |
填充 |
passwordCharacter |
string |
密码字符 |
passwordMaskDelay |
int |
密码屏蔽延迟 |
persistentSelection |
bool |
持久选择 |
preeditText |
string |
预编辑文本 |
readOnly |
bool |
只读属性 |
renderType |
enumeration |
渲染类型 |
rightPadding |
real |
右侧填充 |
selectByMouse |
bool |
通过鼠标选择 |
selectedText |
string |
选定的文本 |
selectedTextColor |
color |
选定文本的颜色 |
selectionColor |
color |
选择颜色 |
selectionEnd |
int |
选择结束位置 |
selectionStart |
int |
选择开始位置 |
text |
string |
文本内容 |
topPadding |
real |
顶部填充 |
validator |
Validator |
输入验证器 |
verticalAlignment |
enumeration |
垂直对齐方式 |
wrapMode |
enumeration |
换行模式 |
信号
信号 |
说明 |
accepted() |
调用accept()函数后触发 |
editingFinished() |
编辑完成后触发 |
textEdited() |
文本编辑时触发 |
函数
函数 |
说明 |
clear() |
清空文本 |
copy() |
复制选定的文本至剪贴板 |
cut() |
剪切选定的文本至剪贴板 |
deselect() |
取消选择 |
ensureVisible(int position) |
确保指定索引位置的字符处于可见状态 |
string getText(int start, int end) |
获取指定范围内的字符串 |
insert(int position, string text) |
在指定位置插入文本 |
bool isRightToLeft(int start, int end) |
判断指定范围内的文本是否为从右到左排列 |
moveCursorSelection(int position, SelectionMode mode = TextInput.SelectCharacters) |
将光标移动到指定位置,并选择新位置与上一位置之间的字符 |
paste() |
将剪贴板的文本插入到当前编辑框中 |
int positionAt(real x, real y, CursorPosition position = CursorBetweenCharacters) |
返回包含给定屏幕坐标的文本位置 |
rect positionToRectangle(int pos) |
返回指定位置的矩形坐标 |
redo() |
重做上一次操作 |
remove(int start, int end) |
删除指定范围内的文本 |
select(int start, int end) |
选择指定范围内的文本 |
selectAll() |
选择所有文本 |
selectWord() |
选择当前光标所在位置的单词 |
undo() |
撤销上一次操作 |
示例
TextInput {
Rectangle{
anchors.fill:parent
border.width: 1
border.color:"black"
color: "transparent"
}
anchors.centerIn: parent
width: 200
height: 30
color: "black"
font.pixelSize: 14
font.family: "黑体"
text: "Hello, world!"
selectByMouse: true
autoScroll:true
clip: true
echoMode: TextInput.Password
}
多行输入框 TextArea
属性
属性:
属性 |
说明 |
activeFocusOnPress |
当按下时是获取焦点。 |
backgroundVisible |
是否可见背景。 |
baseUrl |
URL基本路径。 |
canPaste |
是否可粘贴。 |
canRedo |
是否可重做。 |
canUndo |
是否可撤销。 |
contentHeight |
内容的高度。 |
contentWidth |
内容的宽度。 |
cursorPosition |
光标的位置。 |
cursorRectangle |
光标所在矩形区域。 |
effectiveHorizontalAlignment |
水平对齐方式。 |
font |
字体。 |
horizontalAlignment |
水平对齐方式。 |
hoveredLink |
鼠标悬停的链接。 |
inputMethodComposing |
输入法是否处于组合输入状态。 |
inputMethodHints |
输入法提示。 |
length |
文本长度。 |
lineCount |
行数。 |
menu |
上下文菜单。 |
readOnly |
是否只读。 |
selectByKeyboard |
是否通过键盘选择。 |
selectByMouse |
是否通过鼠标选择。 |
selectedText |
选定的文本。 |
selectionEnd |
选择结束位置。 |
selectionStart |
选择开始位置。 |
tabChangesFocus |
制表符是否切换焦点。 |
text |
文本内容。 |
textColor |
文本颜色。 |
textDocument |
文本文档。 |
textFormat |
文本格式。 |
textMargin |
文本边缘大小。 |
verticalAlignment |
垂直对齐方式。 |
wrapMode |
自动换行方式。 |
信号
信号 |
说明 |
editingFinished |
编辑完成信号。 |
linkActivated |
激活链接信号(传递链接文本作为参数)。 |
linkHovered |
鼠标悬停在链接上信号(传递链接文本作为参数)。 |
函数
方法 |
说明 |
append(string text) |
在当前文本末尾追加字符串。 |
copy() |
复制选定的文本到剪贴板。 |
cut() |
剪切选定的文本到剪贴板。 |
deselect() |
取消选择状态。 |
getFormattedText(int start, int end) |
获取指定范围的格式化文本。 |
getText(int start, int end) |
获取指定范围的文本。 |
insert(int position, string text) |
在指定位置插入文本。 |
isRightToLeft(int start, int end) |
判断指定范围内的文本是否从右到左排列。 |
moveCursorSelection(int position, SelectionMode mode) |
将光标移动到指定位置并选择新位置与之间的字符。 |
paste() |
将剪贴板中的文本粘贴到当前编辑框中。 |
positionAt(int x, int y) |
获取包含给定屏幕坐标的文本位置。 |
positionToRectangle(position) |
获取指定位置的矩形坐标。 |
redo() |
重做上一次操作。 |
remove(int start, int end) |
删除指定范围内的文本。 |
select(int start, int end) |
选择指定范围的文本。 |
selectAll() |
选择全部文本。 |
selectWord() |
选择当前光标位置的单词。 |
undo() |
撤销上一次操作。 |
示例
Rectangle{
width: 300
height: 100
border.color: "pink"
border.width: 2
radius: 7
ScrollView {
anchors.fill:parent
TextArea {
anchors.fill:parent
color: "blue"
font.pixelSize: 14
font.family: "宋体"
text: "123"
wrapMode: Text.WrapAnywhere
selectByMouse: true
}
}
}
进度条ProgressBar
属性
属性:
属性 |
说明 |
hovered |
[只读] 指示控件是否被悬停。 |
indeterminate |
切换不确定模式。当实际进度未知时,使用此选项。进度条将被作为繁忙指示器进行动画处理。默认值为false。 |
maximumValue |
进度条的最大值。该值会被限定在此范围内。如果maximumValue比minimumValue小,则会强制使用minimumValue。默认值为1。 |
minimumValue |
进度条的最小值。该值会被限定在此范围内。默认值为0。 |
orientation |
进度条的方向。 Qt.Horizontal - 水平方向。(默认值);Qt.Vertical - 垂直方向。 |
value |
进度条的当前值。尝试将当前值更改为超出最小-最大范围的值不会对当前值产生影响。默认值为0。 |
示例
Column {
spacing: 10
anchors.centerIn:parent
ProgressBar {
height: 20
width: 100
value: 0.5
style: ProgressBarStyle{
background: Rectangle {
color: Qt.rgba(95, 176, 243,1)
border.width: 1
border.color: "black"
}
}
}
ProgressBar {
height: 20
width: 100
indeterminate: true
}
}