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

个人简历免费制作网站眉山招聘网站建设

个人简历免费制作网站,眉山招聘网站建设,163邮箱 wordpress,纯图片网站我们在通过Qt向导窗口基于窗口的应用程序的项目过程中倒数第二步让我们选择跟随项目创建的第一个窗口的基类, 下拉菜单中有三个选项, 分别为: QMainWindow、QDialog、QWidget如下图: 常用的窗口类有3个 在创建Qt窗口的时候, 需要让自己的窗口类继承上述三个窗口类的…

        我们在通过Qt向导窗口基于窗口的应用程序的项目过程中倒数第二步让我们选择跟随项目创建的第一个窗口的基类, 下拉菜单中有三个选项, 分别为: QMainWindow、QDialog、QWidget如下图:

常用的窗口类有3个
在创建Qt窗口的时候, 需要让自己的窗口类继承上述三个窗口类的其中一个。

一、 QWidget类

QWidget是Qt框架中所有用户界面对象的基类。它提供了一种用于创建窗口和其他可视化元素的基础机制。以下是QWidget类的一些关键特性和常用方法:

特性:

  1. 父子关系: QWidget支持层次结构,可以通过设置父对象来组织窗口和控件。

  2. 绘制和事件处理: QWidget有一些虚拟函数,比如paintEvent,可以被子类重写以实现自定义的绘制和事件处理逻辑。

  3. 布局管理: QWidget可以包含布局管理器,用于自动管理子控件的位置和大小。

  4. 样式表: 通过使用样式表(类似于CSS),可以定制QWidget及其子类的外观。

  5. 焦点: QWidget支持焦点管理,可以接收焦点并处理键盘事件。

  6. 大小和位置: QWidget可以设置大小和位置,并且有一些方法用于获取和设置这些属性。

二、QDialog类 

QDialog类是Qt框架中用于创建对话框的基类。对话框是一个独立的窗口,通常用于执行特定任务、显示信息、或者收集用户输入。QDialog提供了一些默认的对话框行为,同时也允许开发者通过继承并定制其行为。

以下是QDialog类的一些特性和常用方法:

特性:

  1. 按钮框架(Button Box): QDialog通常包含一个按钮框架,用于容纳标准的对话框按钮(如确定、取消、应用等),这可以通过QDialogButtonBox来实现。

  2. 返回结果: 对话框可以返回一个结果,例如用户的选择或输入,通过调用QDialog::exec()来模态显示对话框,并根据用户的操作返回相应的结果。

  3. 大小调整: 对话框可以自动根据内容调整大小,也可以手动设置大小。

  4. 模态和非模态: 对话框可以以模态或非模态的方式显示。模态对话框阻止与应用程序的其他部分的交互,直到对话框关闭。

三、QMainWindow类 

QMainWindow类是Qt框架中用于创建主窗口的基类。主窗口通常包含菜单栏、工具栏、状态栏等,是应用程序的主界面。QMainWindow提供了一些默认的主窗口布局和行为,同时也允许开发者通过继承和定制来创建自定义的主窗口。

以下是QMainWindow类的一些特性和常用方法:

特性:

  1. 菜单栏、工具栏和状态栏: QMainWindow包含了方便的方法来设置和管理菜单栏、工具栏和状态栏。可以使用menuBar()toolBar()statusBar()方法来获取对应的对象。

  2. 中心窗口区域: QMainWindow提供了一个中心区域,可以通过setCentralWidget()方法设置为主窗口的中心显示区域。

  3. Dock窗口: 可以通过QDockWidget类将可停靠的窗口添加到主窗口的周围,提供更灵活的布局。

  4. 布局管理: QMainWindow支持布局管理器,可以通过setCentralWidget()setDockWidgetArea()等方法来配置窗口的布局。

  5. 状态保存和还原: QMainWindow能够保存和还原窗口的状态,包括窗口的位置、大小、布局等信息。

  6. 文档/模式视图: 支持文档/模式视图架构,可以在主窗口内管理多个文档或视图。

示例代码:mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "testwidge.h"
#include "testdialog.h"
#include "QPushButton"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);//创建第一个按钮,让这个按钮作为当前创建的子控件QPushButton* btnA=new QPushButton(this);//移动按钮位置btnA->move(10,10);//给按钮设置固定大小btnA->setFixedSize(200,200);//创建第二个按钮,让这个按钮作为当前创建的子控件QPushButton* btnB=new QPushButton(btnA);//移动按钮位置btnB->move(10,10);//给按钮设置固定大小btnB->setFixedSize(100,100);//创建第三个按钮,让这个按钮作为当前创建的子控件QPushButton* btnC=new QPushButton(btnB);//移动按钮位置btnC->move(10,10);//给按钮设置固定大小btnC->setFixedSize(50,50);//创建窗口对象,没有给w对象指定父对象,这个窗口是一个独立窗口//要显示这个独立窗口必须要进行show()操作TestWidge* w=new TestWidge;//显示当前窗口w->show();
/*//一般在qt的构造函数中进行初始化操作(窗口,数据,...)//显示当前窗口的时候,显示另外一个窗口TestWidget
#if 0//创建窗口对象,没有给w对象指定父对象,这个窗口是一个独立窗口//要显示这个独立窗口必须要进行show()操作TestWidge* w=new TestWidge;//显示当前窗口w->show();
#else//创建窗口对象,没有给w对象指定父对象//explicit TestWidge(QWidget *parent = nullptr);//如果创建一个窗口对象的时候给其指定了父对象,这个窗口就不是一个独立窗口//这样的话当前父窗口显示的时候,子窗口就一并被显示出来了//这时候子窗口是没有边框的TestWidge* w=new TestWidge(this);
#endif#if 0//创建对话框窗口TestDialog *dlg=new TestDialog(this);//非模态dlg->show();
#else//创建对话框窗口TestDialog *dlg=new TestDialog(this);//模态,需调用这个函数exec(),阻塞程序的执行dlg->exec();
#endif
*/}MainWindow::~MainWindow()
{delete ui;
}

 

四、两个窗口类

在Qt中,有两个常见的窗口类型:Form窗口和MainWindow窗口。

Form窗口(QWidget):

QWidget是Qt中所有可视化组件的基类,它可以用于创建简单的窗口或者作为其他窗口组件的基础。Form窗口通常不包含菜单栏、工具栏、状态栏等主窗口元素,而是被用于容纳其他控件。

特性:

  • 不包含默认的菜单栏、工具栏或状态栏。
  • 适合用于创建自定义的对话框或简单的窗口。
  • 使用QWidget可以自由设计窗口的外观和布局。

MainWindow窗口(QMainWindow):

QMainWindow是用于创建主窗口的类,它包含了许多常见的主窗口元素,如菜单栏、工具栏、状态栏等。MainWindow窗口通常是应用程序的主界面,用于承载整个应用程序的主要功能。

特性:

  • 包含默认的菜单栏、工具栏和状态栏。
  • 适合用于创建典型的桌面应用程序的主窗口。
  • 支持文档/模式视图结构,可以管理多个文档或视图。

在实际的应用程序中,可以根据需要选择使用QWidget还是QMainWindow。如果你需要创建一个简单的窗口或者对话框,可能选择使用QWidget。而如果你的应用程序需要具备主窗口的标准结构,包括菜单、工具栏和状态栏等,那么使用QMainWindow更为合适。

 五、坐标体系

在Qt中,坐标体系(Coordinate System)是用来定位和描述界面上元素位置的一种方式。Qt使用的坐标体系是二维平面上的笛卡尔坐标系,其中原点通常位于左上角,x轴向右延伸,y轴向下延伸。

在Qt中,窗口的相对坐标通常指的是相对于其父窗口或者相对于屏幕的坐标。这是在布局和界面设计中经常会遇到的概念,尤其是当一个窗口嵌套在另一个窗口中时。

//创建第一个按钮,让这个按钮作为当前创建的子控件QPushButton* btnA=new QPushButton(this);//移动按钮位置btnA->move(10,10);//给按钮设置固定大小btnA->setFixedSize(200,200);//创建第二个按钮,让这个按钮作为当前创建的子控件QPushButton* btnB=new QPushButton(btnA);//移动按钮位置btnB->move(10,10);//给按钮设置固定大小btnB->setFixedSize(100,100);//创建第三个按钮,让这个按钮作为当前创建的子控件QPushButton* btnC=new QPushButton(btnB);//移动按钮位置btnC->move(10,10);//给按钮设置固定大小btnC->setFixedSize(50,50);

这是一个使用Qt框架创建按钮的示例代码,其中按钮之间形成了父子关系。

  1. 创建第一个按钮 btnA

    • QPushButton* btnA = new QPushButton(this); 创建一个按钮,并将其父对象设置为当前窗口(this)。
    • btnA->move(10, 10); 将按钮的位置移动到 (10, 10)。
    • btnA->setFixedSize(200, 200); 设置按钮的固定大小为 200x200 像素。
  2. 创建第二个按钮 btnB

    • QPushButton* btnB = new QPushButton(btnA); 创建一个按钮,并将其父对象设置为第一个按钮 btnA。这样,btnB 成为了 btnA 的子控件。
    • btnB->move(10, 10); 将按钮 btnB 相对于其父对象 btnA 的位置移动到 (10, 10)。
    • btnB->setFixedSize(100, 100); 设置按钮 btnB 的固定大小为 100x100 像素。
  3. 创建第三个按钮 btnC

    • QPushButton* btnC = new QPushButton(btnB); 创建一个按钮,并将其父对象设置为第二个按钮 btnB。这样,btnC 成为了 btnB 的子控件,同时也是 btnA 的孙子控件。
    • btnC->move(10, 10); 将按钮 btnC 相对于其父对象 btnB 的位置移动到 (10, 10)。
    • btnC->setFixedSize(50, 50); 设置按钮 btnC 的固定大小为 50x50 像素。

这样,创建了一个包含三个按钮的父子关系层次结构。按钮 btnC 是按钮 btnB 的子控件,同时也是按钮 btnA 的孙子控件。控件之间的父子关系在布局、显示和事件处理等方面都具有重要意义。

http://www.yayakq.cn/news/154884/

相关文章:

  • 汇鑫网站建设便捷网页制作模板视频教程
  • 网络培训网站开发文献综述活动策划模板
  • 学校网站制作国家标准下载网免费
  • 单页面 网站怎么做做静态网站
  • 为网站网站做代理怎么判wordpress xmlrpc.php 缓慢
  • 公司注销后 网站备案注册公司虚拟地址购买
  • 国外网页游戏网站北京网页设计电脑培训
  • 烟台手机网站建设电话广告公司用的什么软件
  • 易网做的网站后台wordpress换空间
  • 历下网站建设新闻发稿时间
  • 书法网站建设电商数据查询平台
  • 做民俗酒店到哪些网站推荐微软做网站的工具
  • 网站开发 绩效考核二级建造师证书查询官方网站
  • 企业网站推广效果从哪些方面进行分析上海高端做网站
  • 上饶市住房和城乡建设网站塘厦
  • 网站开发 后端服务国外域名注册网站 中文
  • 重庆响应式网站设计易优cms二次开发
  • 网站转移空间以后ip会变化吗番禺定制型网站建设
  • 网站主服务器所在地地址个人电脑建立网站会
  • 12389举报网站建设项目看守所加强自身网站建设工作
  • 网站建设个人总结装修效果图软件
  • 网站建设征集意见深圳市建设工程交易中心网站
  • 网站维护运营主要是做什么的公司管理制度
  • wordpress 菜单 标题属性seo外贸 网站公司推荐
  • 百度站长平台账号购买公司网站内容建设
  • 适合新手做网站的网站开发外包售后维护合同范本
  • 义乌水务建设集团官方网站wordpress 文章图片链接
  • 网站地图用法网站开发遇到的问题及解决方法
  • 手机网站建设行业分析包头索易网站建设
  • 湖北网站建设联系电话毕节做网站的公司