如何做网站网页流程,石家庄seo全网营销,外国风格网站建设价格,教育网站开发背景设计界面介绍 此时我们创建项目时就可以选择添加UI选项了。 添加完之后#xff0c;我们可以看到#xff0c;文件中多出了一个存放界面文件的目录#xff0c;下面有个.ui的界面文件。甚至pro的项目文件中也会添加一项内容。 我们点击界面文件中的.ui文件#xff0c;我们可以… 设计界面介绍 此时我们创建项目时就可以选择添加UI选项了。 添加完之后我们可以看到文件中多出了一个存放界面文件的目录下面有个.ui的界面文件。甚至pro的项目文件中也会添加一项内容。 我们点击界面文件中的.ui文件我们可以来到设计界面。设计界面的一套流程主要包括以下几个步骤1.使用工具箱中的控件(如按钮、文本框、标签等)拖拽到主窗体上。2.通过属性编辑器调整控件的属性(如大小、字体、颜色等)3.使用布局管理器如水平布局、垂直布局等来控制控件的排列与自适应行为。4.连接信号与槽右击控件选择转到槽...来创建和编辑槽函数。 在这里我们可以拖拽一些控件来实现界面的布局等信息。感觉跟之前学C#时的感觉很像来感觉了。通过界面化的拖拽组件、部件等可以极大的解放我们去记一些类通过拖拽它能自动生成代码。通过右下角的属性界面我们可以直接设置组件的一系列属性。 太方便了有没有此时就可以发挥你的想象来进行设计了。
然后我们试着设计一个登录界面
登录界面初创建:
在上面的菜单栏输入一些文字然后拖拽一个groupBox当作一个子容器然后再分别拖拽两个标签、两个LineEdit、两个PushButton。然后调整布局修改文本属性。设置成如下界面。 然后我们就可以对按钮Button以及动作Action的点击/引发信号进行槽回应处理。从而实现我们的具体功能了。
登录功能初实现:
第一步将子容器内的退出按钮与菜单栏下的退出动作与窗体的close关联上。
右击鼠标转到槽然后选择需要发送的信号然后会自动跳转到新建的槽函数中 然后我们添加一句this-close()就可以将退出功能实现了。经过测试结果与预期一致。但是对于菜单栏下的动作我们不能右击鼠标进行转到槽。那我们就可以用connect自己进行连接按钮我们也可以进行这样的操作 //退出按钮// connect(ui-btnExit,QPushButton::clicked,this,QWidget::close);//退出动作connect(ui-actionexit,QAction::triggered,this,QWidget::close); 第二步确认按钮的逻辑实现
void MainWindow::on_btnSure_clicked()
{//登录按钮bool isContinuetrue;if(ui-txtUid-text().size()0){ui-statusbar-showMessage(用户名为空);isContinuefalse;}else if(ui-txtPwd-text().size()0){ui-statusbar-showMessage(密码为空);isContinuefalse;}if(isContinue){// 新建一个窗口点击登录关闭该窗口打开另一个窗口frmNextnew QMainWindow();frmNext-show();this-hide();}else {QMessageBox* msgnew QMessageBox(this);msg-setWindowTitle(警告);msg-setText(请输入账号/密码);msg-show();}
}
对于登录按钮我们需要对我们输入的信息进行逻辑判断第一点就是判空如果用户名为空我们就在状态栏给出具体错误信息例如“用户名为空、密码为空”等为了确保用户能够看到我们也可以使用QMessageBox进行消息提示框进行提醒消息提示框我们可以使用另外一种简单的方式
QMessageBox::warning(this,警告,请检查是否输入账号以及密码); 此外Qt为我们提供了许多标准的对话框消息提示框只是其中一个 对于我们的消息提示框Qt也为我们设计好了一些常用的标准框 包括 报错critical提示information询问question警告warning以及自定义提示框的图标的一个standardIcon()。 回到正文我们的登录按钮的逻辑第一就是判空第二就是判断用户账号是否存在然后再判断密码是否正确。这块一般使用数据库或者是文件操作留给大家自行选择自己实现了。不懂得可以看一下我C#实现图书馆信息管理系统那篇文章看一下具体的逻辑再回来写C的代码。至此我们的两大功能登录和退出就已经实现了然后就是注册账号和找回密码。
这块都是需要进行用户数据匹配的还是比较建议使用数据库没学过用普通的文件操作也能实现。如果都不会那数组总该会了吧。
定义一个用户类型的结构体包括用户名和密码。然后每注册一个就将该用户加入到数组中这样注册功能就实现了。忘记密码就是根据结构体对象的用户名匹配用户密码。登陆时也可以使用这样的方法进行用户匹配。还有用户名是否唯一、用户名是否存在的问题都需要考虑在内此处我们需要考虑很多但都不难。用数组的缺点就是只能在本次运行时获取本次注册的用户信息如果程序结束下次运行将无法找回数据。所以文件操作可以解决这个问题数据库当然也能随大家意愿。
资源文件添加
此时你会觉得上面的界面有点丑我想加点图片啊什么的。当然了十分的ok。我们现在尝试为菜单栏的菜单项添加一个自己喜欢的图片作为图标。 我们将图片路径添入
ui-menuFile-setIcon(QIcon(D:/L/Pictures/wx存储/WeChat Files/All Users/stark.jpg)); 但是不是每个人存放的路径都是跟我一样的那我们复制这段代码运行后就会出错。我们怎么解决呢就是引入资源文件将图片等资源放到项目内
第一步将图片/文件夹放到本项目目录下
①、复制需要添加的项目资源文件夹。 ②、找到项目放到目录下 这样资源文件就添加到我们的项目中了以后将项目传给别人时项目资源也会传给别人我们就无需访问本机绝对路径了。你以为这样就完了还没有
③、右击项目新建文件 为资源文件夹起名 此时我们就会发现项目下多出了一个资源目录 但是当你退出该页面后想要再次进入该文件你会发现双击不管用了。那么我们就需要右击该文件然后以编辑的形式打开 我们即可再次进入。进入之后我们能添加一些前缀这些前缀就是分组的意思比如有些项目中资源分为人物、风景、宠物等那么我们应该加上合适的前缀去寻找对应的资源这里我们不加任何前缀只有一个单独的 / 了。 选中所有图片 最终效果 我就添加了这四个当然我们一定要为图片起好名字 不然就有的难受了。此时我们再进行图标的设置现在我为下面的注册添加一个懒大王的图标
ui-actionregister-setIcon(QIcon(://项目资源/懒大王.png));
记得冒号第一个/为前缀名。后面为资源路径 。 ok了今天的内容就到这里吧。我们下期再见。