Qt快速上手(三):编程示例

本文介绍如何使用Qt实现多个窗口间的交互,包括创建带有软键盘功能的对话框。首先创建一个主窗口,设置布局和样式,接着添加软键盘功能,通过信号与槽机制响应按钮点击事件。此外,还展示了如何创建新的Dialog窗口,以及在Result窗口中显示软键盘输入的内容。通过这些步骤,读者可以理解Qt中窗口交互和软键盘的基本实现。
摘要由CSDN通过智能技术生成

实现几个窗口间的交互+一个软键盘

 

创建一个项目,基类选择QWidget,类名用Widget。创建完成后进入widget.ui界面。

点击主页面,找到右下角的minimumSize大小和geometry里面的大小,都设置800x600。

从左侧栏拖出一个Label控件和四个PushButton控件,Label控件设置窗口最小值和geometry的大小都为300x100,

PushButton控件都设置为200x50。右键Label控件,选择“改变样式表”,在窗口中输入font: 57 36pt "Ubuntu";Label文本更改为“Qt编程示例”,按钮的文本改为”Mykeyboard”、”To Dialog”、”Result”、”Quit”如图所示

从左侧栏拖出一个Vertical Layout,把四个按钮放进去,然后在右下角的vertical layout属性设置修改为如图所示

 

从左侧栏拖出两个Horizontal Spacer放在左右两边,然后把两个个Horizontal Spacer 和 Label 以及刚才的Vertical Layout框全部选中,点击主页面上面的      这个按钮。右下角的layoutSpacing设置为50,完成后如图

 

再从左侧拖入两个Vertical Spacer放在上下两边,然后选中两个Vertical Spacer和中间这个Horizontal Spacer大框,点击上面的垂直布局按钮。最后,找块主页面的空白地方,再次点击上面的垂直布局或者水平布局(这步不可少)。完成后如下图

 

为使中文不显示乱码,可以在main.cpp中加入<QTextCodec>头文件,和代码QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));

按前面说过的方法添加资源文件,在widget.cpp中使用如下代码给widget加入图片背景

 

1.QPixmap pixmap(":/img5.png");  
2.QPalette palette = this->palette();  
3.palette.setBrush(QPalette::Background,QBrush(pixmap.scaled(QApplication::desktop()->size())));  
4.this->setPalette(palette);  

 

第三行用到了desktop的函数要引入<QDesktopWidget>头文件。

运行

 

在刚才的项目中添加新文件,选择Qt设计师界面类,界面模板选择Dialog without Buttons,类名用Dialog,拖入一个Label,然后按照前面的方法进行格式设置(窗口大小,布局,字体等),完成后如下图

 

 

按照前面的代码在dialog.cpp中也加入一个图片背景。

在widget.h中加入#include "dialog.h"和一个成员Dialog *mydialog,在widget.cpp的构造函数中加入mydialog = new Dialog(this) ;代码

然后进入widget.ui中,右键To Dialog按钮,选择转到槽,选择clicked(),确定后在跳转的函数体中加入mydialog->show();

此时我们运行程序,点击To Dialog按钮就能出现Dialog的窗口了。

 

继续在widget.ui中,右键Quit按钮,转到槽,选择clicked(),在函数体添加close();

此时运行程序,点击Quit按钮就能关闭窗口了。

 

软键盘的实现

继续在刚才的项目中添加新文件,选择Qt设计师界面类,界面模板选择Dialog without Buttons,类名用Mykeyboard。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值