软工课程设计3——初学服务器端的搭建


前言

为了使黄金点游戏的迭代更具有实用性,我们俩在进行讨论和商量之后决定在原本的游戏程序基础上,将整个项目分为服务器端和客户端两部分。
服务器端的功能主要是:
(1)确定玩家的人数上限。
(2)设置客户端访问的端口号。
(3)创建房间使得客户端能够进行实时对战。
因此在这两周我们着重学习的是与搭建服务器端有关的知识,并实现了服务器端的UI界面设计。


一、服务器的UI设计

1.插入背景

定义一个TcpServer类,在该类中首先对窗口的布局进行设置。
首先对窗口背景进行设置,我们通过应用QPixmap类来实现该背景设置。QPixmap类用于绘图设备的图像显示,它可以作为一个QPaintDevice对象,也可以加载到一个控件中,通常是标签或按钮,用于在标签或按钮上显示图像。QPixmap可以读取的图像文件类型有BMP、GIF、JPG、JPEG、PNG、PBM、PGM、PPM、XBM、XPM等。
但在该过程中我们遇到了一个一开始难以解决的问题:背景图片无法插入。
(1)首先我们在网上查阅多种在QT程序中插入背景图片的方法,但发现都无法实现插入图片的效果,于是通过“不断修正+跑程序“的方式最终才确定了使用TcpServer类的方法来实现。
(2)考虑到后期程序打包的问题,我们决定将程序中的绝对路径改为相对路径。但是我们发现将图片放进程序的文件夹中后,将绝对路径改为“./023.jpg”和“:/023.jpg”这两种写法之后,发现背景图片变为黑色,无法插入。
于是经过不断查阅资料后我们发现了“新建QT文件并添加资源”的方式可以实现背景图片通过相对路径成功插入背景图片的效果。

    QPixmap pixmap(QString::fromUtf8(":/new/prefix1/023.jpg"));//插入背景图片023.jpg
    QPalette palette = this->palette();
    palette.setBrush(backgroundRole(), QBrush(pixmap));
    setPalette(palette);
   

2.文本框、按钮和输入框的设置

(1)QLabel设置标签

QLabel类代表标签,它是一个用于显示文本或图像的窗口部件。

currentLabel = new QLabel(tr("当前在线人数:"));
currentNumberLabel = new QLabel;
maxNumberLabel = new QLabel(tr("游戏人数上限:"));
maxNumberLineEdit = new QLineEdit;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值