这次,学习了基本的布局和一些布局属性,我打算搞个登录窗口界面了。有了一点基本的基础之后,实战是提升最快的了。
同理啊,我们先进行百度,我们需要一个文本框,一个按钮,一个输入框的代码,这些我都不知道怎么写,如此,我们便需要进行百度学习了。
首先,百度,qtquick 输入框
很明显第一个非常符合我的要求。打开第一篇文章
继续上节课的代码,将代码删至如图所示。我就得到了一个居中显示的浅蓝色背景的方块框框。
然后我就将现在搜索到的这个文字的代码融入我的代码中
TextInput {
anchors.fill: parent
anchors.margins: 2
font.pointSize: 15
focus: true
onAccepted: console.log("accepted")
}
这段代码,一看就是个文本输入框的控件,于是我把它放在Text控件下方
可以看到,这样也是可以的,虽然我不知道是不是这么做,但是先复制进去运行一下,看看效果,既然能运行,说明没问题可以这么写,那么我就开始来改下位置布局的代码了
我的想法是,将输入框的左边定在标签的右边,运行之后发现跟想象的一样,但是输入框好像还差点东西,没有背景和边框,于是回到文章中,
我发现它是用父级框框的颜色来设置的,于是我就想,直接把边框的属性放进TextInput里面,
运行发现,不能这么设置,那么就只好把文章的代码复制过来了,哈哈
按照我自己的想法,将代码改成这样
如此一来就符合了,但是我想账号:这个文本,跟右边的文本框上下能居中
经过自己的 改造发现这样了,报错了,说明我们的写法有毛病,这时候我看到了这篇文章用到了row这个对象,来让他们处于同一行,于是乎直接复制他们的代码。
将row的代码替换我们Rectangle里面的全部代码,发现非常完美。。。。。
如法炮制,多复制了一个Row的全部代码,放在下面,然后设置对应的Id,接着将位置固定在第一个Row的下方。如此我们便可以得到一个
现在缺少一个按钮,我想让它 放在他们右下方。同样的百度搜素
这边我看的是这个文章
Button{
x:100 // 设置按钮的横坐标
y:100 // 设置纵坐标
text:"我是按钮" // 按钮文本
// 信号槽连接
onClicked: {
console.log("我被点击了")
}
}
我将这段代码复制到密码的Row下方,然后运行。。提示这个
回到文章中,仔细看了下,少了import QtQuick.Controls 2.5,放进去之后继续运行
运行后发现,可以了,但是都拼凑一起好像还是蛮难看的。大小也不合适,我想让控件之间有点间隔,于是,又去百度学习一下下,搜索,
但是没有我想要的,因为我本身就有html+css还有xaml的语法经验,于是我改变搜索关键词,margin我知道这个是用来做这个事情的
果然,结果跟我想的一样。
根据内容我们可以看到是这样来实现的,
加上之后运行,结果跟我想的一样。其他细节,大家就自己调节了。大胆的尝试,不用怕错。这样学起来才快 ,不过我这vscode,没有语法提示,这就很难受