当前位置: 首页 > wzjs >正文

医院网站建设课程代码加强局网站建设

医院网站建设课程代码,加强局网站建设,做网站的画布是多少,系统开发的大概步骤Qt 入门2之窗口部件 QWidget Qt Creator 提供的默认基类只有QMainWindow、QWidget和QDialog 这3种,这3种窗体也是以后用得最多的,QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,而它们全部继承自QWidget。不仅如此,其实所有的窗…

Qt 入门2之窗口部件 QWidget

  • Qt Creator 提供的默认基类只有QMainWindow、QWidget和QDialog 这3种,这3种窗体也是以后用得最多的
  • ,QMainWindow是带有菜单栏和工具栏的主窗口类,QDialog是各种对话框的基类,而它们全部继承自QWidget。不仅如此,其实所有的窗口部件都继承自QWidget
  • 窗口部件关系如下图:
    在这里插入图片描述

基础窗口部件QWidget

  • QWidget类是所有用户界面对象的基类,被称为基础窗口部件。由上图中可以看到,QWidget 继承自QObject 类和QPaintDevice 类,其中,QObject类是所有支持Qt对象模型(Qt Object Model)的对象的基类,QPaintDevice 类是所有可以绘制的对象的基类。

1. 窗口、子部件及窗口类型

1.1 窗口子部件

  • 先举个例子,打开Qt Creator,新建空的项目

在这里插入图片描述
在这里插入图片描述

  • 找到main()函数,添加如下代码并执行:
#include "widget.h"
#include"qlabel.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);//新建QWidget 类对象,默认parent参数是0,所以它是个窗口QWidget* widget = new QWidget();widget->setWindowTitle(QObject::tr("我是widget"));QLabel * label = new QLabel();label->setWindowTitle(QObject::tr("我是Label"));//设置要现实的信息label->setText(QObject::tr("lable:我是个窗口"));label->resize(280,80);//设置父窗口为 widgetQLabel * label2=new QLabel(widget);label2->setText(QObject::tr("label2:我不是独立窗口,只是widget的子部件"));label2->resize(450,80);//显示label->show();widget->show();int ret=a.exec();delete label;delete widget;   //无需删除lable2return ret;
}

在这里插入图片描述

1.2 窗口类型

  • 前边讲到窗口一般都有边框和标题栏,有些时候这也不是必须的
  • QWidget的构造函数有两个参数:QWidget* parent=0 和Qt::WindowFlags f = 0,前面的parent指父窗口部件,默认值为0,表示没有父窗口;而后边的f指的是窗口类型,用来为部件指定各种窗口的系统属性
  • 更改之前的代码如下:
 QWidget* widget = new QWidget(0,Qt::Dialog);widget->setWindowTitle(QObject::tr("我是widget"));QLabel * label = new QLabel(0,Qt::SplashScreen);label->setWindowTitle(QObject::tr("我是Label"));
  • 运行后效果 如下,label窗口没有了边界
    在这里插入图片描述

  • 再将代码修改如下,运行如下图:

 QWidget* widget = new QWidget(0,Qt::Dialog | Qt::FramelessWindowHint);widget->setWindowTitle(QObject::tr("我是widget"));QLabel * label = new QLabel(0,Qt::SplashScreen | Qt::WindowStaysOnTopHint);label->setWindowTitle(QObject::tr("我是Label"));

在这里插入图片描述

  • Qt::FramelessWindowHint用来产生一个没有边框的窗口,而 Qt::WindowStaysOnTopHint用来使该窗口停留在所有其他窗口上面,虽然单击了 Qt Creator,但只有 widget 窗口隐藏到了后面,label窗口依然在最上面。
    在这里插入图片描述

  • QWidget中还有一个setWindowState()函数用来设置窗口的状态,其参数由 Qt::WindowStates指定,是Qt::WindowState 枚举类型值的或组合。窗口状态 Qt:: WindowState 包括最大化 Qt::WindowMaximized、最小化 Qt::Win-dowMinimized、全屏显示 Qt::WindowFullScreen和活动窗日 Qt::WindowActive 等默认值为正常状态 Qt::WindowNoState。

2.窗口几何布局

  • 对于一个窗口,往往要设置它的大小和运行时出现的位置,也就是几何布局

  • 窗口部件的几何布局如下图所示:
    在这里插入图片描述

  • 这里的函数分为两类,一类是包含框架的,一类是不包含框架的:

    • 包含框架:x()、y()、frameGeometry()、pos()和 move()等函数;
    • 不包含框架:geometry()、width()、height()、rect()和 size()等函数

3.程序调试

  • 前边基础上将主函数更改如下:
#include "widget.h"
#include"qlabel.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);    QWidget widget;int x=widget.x();int y=widget.y();QRect geometry=widget.geometry();QRect frame=widget.frameGeometry();return a.exec();

在这里插入图片描述

  • 在第46行打个断点,进入调试:

下面对调试模式的几个按钮和窗口进行简单介绍:
①继续按钮。程序在断点处停了下来,按下继续按钮后,程序便会像正常运行一样,执行后面的代码,直到遇到下一个断点,或者程序结束
②停止调试按钮。按下该按钮后结束调试,
③单步跳过按钮。直接执行本行代码,然后指向下一行代码
④单步进入按钮。进入调用的函数内部。
⑤单步跳出按钮。当进入函数内部时,跳出该函数,一般与单步进入配合使用。
⑥重新启动调试会话。
⑦显示源码对应的汇编指令,并可以单步调试。
⑧堆栈视图。这里显示了从程序开始到断点处,所有嵌套调用的函数所在的源文件名和行号。

  • 使用qDebug函数
  • 修改程序如下:
QWidget widget;
widget.resize(400,300);
widget.move(200,100);
widget.show();int x=widget.x();
qDebug("x:%d",x);
int y=widget.y();
qDebug("y:%d",y);
QRect geometry=widget.geometry();
QRect frame=widget.frameGeometry();
qDebug()<<"geometry:"<<geometry<<",frame:"<<frame;
  • 运行结果如下:

在这里插入图片描述

http://www.dtcms.com/wzjs/594390.html

相关文章:

  • 一个ip做几个网站网站开发费用如何账务处理
  • 2023年推广网站丹阳网络
  • 国内做外单的网站有哪些商丘网约车都有哪些平台
  • 三九集团如何进行网站建设网页模板库
  • 建设网站的基本技术做网站 excel
  • 网站开发绩效考核现在做百度推广有用吗
  • 网站风格包括哪些如何制作统计小程序
  • 织梦做视频网站可以吗投资担保网站建设
  • 网站建设方案设计ppt品牌推广论文
  • 焦作网站制作-焦作网站建设-焦作网络公司-维科网络大数据营销推广精准粉
  • 关键词优化app快速整站优化
  • 网站空间要多大软件开发工作流程
  • 国内最好的软件网站建设东城响应式网站建设
  • 搭建网站一般多少钱企业查询官网入口
  • 哪些网站可以做百科来源游戏网站建设项目规划
  • 建一个网站报价网店如何推广
  • 网站什么情况要更新长沙哪里可以做网站
  • 如何开发网站软件app软件做网站怎么赚钱 做网站怎么赚钱
  • 电脑硬盘做网站服务器教程淄博怎么做网站
  • 网页设计尺寸行高代码seo的范畴是什么
  • 做网站的启蒙思想html网页制作基础教程
  • 制作网站的过程细节名城苏州网站
  • 长春建设网站公司江西 网站 建设 开发
  • 国外网站做营销商城网站带宽控制
  • 竹子网站建站开网站建设
  • 电子商务网站规划书wordpress 文件类型
  • 免费网站程序下载网站如何做电脑和手机app
  • 河南省建设科技协会网站生鲜电商网站建设策划书
  • 家里面的服务器可以做网站吗展位搭建
  • 网页小游戏网站建设长沙 外贸网站建设公司排名