QT笔记-窗体设置

2023-10-31

1、窗体设置 

//个窗体初始运行最大化
setWindowState(Qt::WindowMaximized);
 
//获取屏幕分别率,并设置窗体固定大小
QScreen *screen = QGuiApplication::primaryScreen();
QRect mm = screen->availableGeometry();
int screen_width = mm.width();
int screen_height = mm.height();
this->setFixedSize(screen_width, screen_height); //设置窗体固定大小
 
//获取客户去大小,并设置窗体固定大小
int width = this->geometry().width();
int height = this->geometry().height();
this->setFixedSize(width, height); //设置窗体固定大小
 
//改编窗口部件的大小
//void resize(int w, int h)
//void resize(const QSize &)
 
//改编窗口部件的位置
//void move(int x, int y)
//void move(const QPoint &)
this->move(-7, 0);

//设置窗口无边框且窗口显示在最顶层
this->setWindowFlags(Qt::Dialog | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);

2、对话框属性 

主要使用的是WindowsType枚举
enum WindowType {
        Widget = 0x00000000,
        Window = 0x00000001,
        Dialog = 0x00000002 | Window,
        Sheet = 0x00000004 | Window,
        Drawer = 0x00000006 | Window,
        Popup = 0x00000008 | Window,
        Tool = 0x0000000a | Window,
        ToolTip = 0x0000000c | Window,
        SplashScreen = 0x0000000e | Window,
        Desktop = 0x00000010 | Window,
        SubWindow =  0x00000012,

        WindowType_Mask = 0x000000ff,
        MSWindowsFixedSizeDialogHint = 0x00000100,
        MSWindowsOwnDC = 0x00000200,
        X11BypassWindowManagerHint = 0x00000400,
        FramelessWindowHint = 0x00000800,
        WindowTitleHint = 0x00001000,
        WindowSystemMenuHint = 0x00002000,
        WindowMinimizeButtonHint = 0x00004000,
        WindowMaximizeButtonHint = 0x00008000,
        WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint,
        WindowContextHelpButtonHint = 0x00010000,
        WindowShadeButtonHint = 0x00020000,
        WindowStaysOnTopHint = 0x00040000,
        // reserved for Qt3Support:
        // WMouseNoMask = 0x00080000,
        // WDestructiveClose = 0x00100000,
        // WStaticContents = 0x00200000,
        // WGroupLeader = 0x00400000,
        // WShowModal = 0x00800000,
        // WNoMousePropagation = 0x01000000,
        CustomizeWindowHint = 0x02000000,
        WindowStaysOnBottomHint = 0x04000000,
        WindowCloseButtonHint = 0x08000000,
        MacWindowToolBarButtonHint = 0x10000000,
        BypassGraphicsProxyWidget = 0x20000000,
        WindowOkButtonHint = 0x00080000,
        WindowCancelButtonHint = 0x00100000,
        WindowSoftkeysVisibleHint = 0x40000000,
        WindowSoftkeysRespondHint = 0x80000000
}
Qt::Widget: QWidget构造函数的默认值,如果新的窗口部件没有父窗口部件,则它是一个独立的窗口,否则就是一个子窗口部件
Qt::Window: 无论是否有父窗口部件,新窗口部件都是一个窗口,通常有一个窗口边框和一个标题栏
Qt::Dialog: 新窗口部件是一个对话框,它是QDialog构造函数的默认值
Qt::Sheet: 新窗口部件是一个Macintosh表单(sheet)
Qt::Drawer: 新窗口部件是一个Macintosh抽屉(drawer)
Qt::Popup: 新窗口部件是一个弹出式顶层窗口
Qt::Tool: 新窗口部件是一个工具(tool)窗口,它通常是一个用于显示工具按钮的小窗口。如果一个工具窗口有父窗口部件,则它将显示在父窗口的部件上面,否则相当于使用了Qt::WindowStaysOnTopHint提示。
Qt::ToolTip: 新窗口部件是一个提示窗口,没有标题栏和窗口边框
Qt::Desktop: 新窗口部件是桌面,它是QDesktopWidget构造函数的默认值
Qt::SplashScreen: 新窗口部件是一个欢迎窗口,它是SplashScreen构造函数的默认值。
Qt::SubWindow: 新窗口部件是一个子窗口,而无论窗口部件是否有父窗口部件。此外,Qt还定义了一些控制窗口外观的窗口提示(这些窗口提示仅对顶层窗口有效)
Qt::MSWindowFiredSizeDialogHint: 为Windows系统上的窗口装饰一个窄的对话框边框,通常这个提示用于固定大小的对话框
Qt::MSWindowOwnDC: 为Windows系统上的窗口添加自身的显示上下文菜单
Qt::X11BypassWindowManagerHint: 完全忽视窗口管理器,它的作用是产生一个根本不被管理的无窗口边框的窗口(此时,用户无法使用键盘进行输入,除非手动调用QWidget::activateWindow()函数)
Qt::FramelessWindowHint: 产生一个无窗口边框的窗口,此时用户无法移动该窗口和改变它的大小
Qt::CustomizeWindowHint: 关闭默认的窗口标题提示
Qt::WindowTitleHint: 为窗口装饰一个标题栏
Qt::WindowSystemMenuHint: 为窗口添加一个窗口系统系统菜单,并尽可能地添加一个关闭按钮
Qt::WindowMinimizeButtonHint: 为窗口添加一个“最小化”按钮
Qt::WindowMaximizeButtonHint: 为窗口添加一个“最大化”按钮
Qt::WindowMinMaxButtonHint: 为窗口添加一个“最小化”按钮 和一个“最大化”按钮
Qt::WindowContextHelpButtonHint: 为窗口添加一个“上下文帮助”按钮
Qt::WindowStaysOnTopHint: 告知窗口系统,该窗口应该停留在所有其他窗口的上面。
Qt::WindowType_Mask: 一个用于提示窗口标识的窗口类型部分的掩码
注:
Qt::FramelessWindowHint: 产生一个无窗口边框的窗口,此时用户无法移动该窗口和改变它的大小
Qt::WindowStaysOnTopHint: 告知窗口系统,该窗口应该停留在所有其他窗口的上面。
为主要使用的类型。


项目中的问题:绘制一个窗口显示一个lineEdit,操作lineEdit内容,光标消失。

方法:添加Qt::Dialog(本窗口继承QDialog类)
//设置窗口无边框且窗口显示在最顶层
this->setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT笔记-窗体设置 的相关文章

  • Qt qDebug() 在 Windows shell 中不起作用

    我正在使用一个qDebug Qt 框架的printf屏幕上有东西 当我从 Qt Creator 运行应用程序时它工作得很好 但是当我尝试从 Windows 执行它时cmd它什么也没显示 为什么会发生这种情况 你必须添加 CONFIG con
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • new 运算符(以及 malloc)无法分配约 450 MB 的内存 [重复]

    这个问题在这里已经有答案了 我正在开发一个程序 该程序在内存中存储大约 2 2 亿个短值的数组 该数据块的分配方式如下 short arrayName new short SIZE OF ARRAY 然后将文件的内容读入内存 在团队中的另一
  • QMutex 是否需要是静态的,以便此类实例的其他线程调用知道暂停其操作?

    从多个线程调用以下附加函数 我不希望数据重写附加 因为计数器尚未增加 除了当前使用 Append 的线程之外 这是否会挂起所有进入的线程 或者其他线程会继续运行而不追加数据吗 互斥锁是否需要是 静态 的 或者每个实例都知道要暂停操作吗 如果
  • 使用 OpenGL 渲染 QImage

    与我相关的其他问题 https stackoverflow com questions 20126354 render qimage from sooffscreenrenderer in qglwidget 我认为更核心的问题是 如何渲染
  • 将 jstring 转换为 QString

    我正在调用一个返回字符串的 Java 函数 QAndroidJniObject obj QAndroidJniObject callStaticObjectMethod
  • PyQt4 QPalette 不工作

    btn QtGui QPushButton Button self palettes btn palette palettes setColor btn backgroundRole QtCore Qt green btn setPalet
  • 如何在 Qt 应用程序中嵌入 Python 解释器?

    有没有一种简单的方法可以将 Python 解释器嵌入到 Qt 应用程序中 如果可能的话 我希望有一个跨平台的解决方案 这就是目的PythonQt http pythonqt sourceforge net 它支持 Windows Linux
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • 如何在Android中使用QML - QWebView

    我想在 Android 中部署一个 YouTube 应用程序 但它只能在我的电脑上运行 在安卓上不起作用 它不加载任何视频 问题仅出在 QWebView 上 我使用了与此类似的代码 http doc qt io archives qt 5
  • 了解 Qt3D 创建的网格

    我创建了一个 Qt3D 网格 如下所示 Qt3DCore QEntity newEntity new Qt3DCore QEntity Qt3DExtras QConeMesh mesh new Qt3DExtras QConeMesh m
  • QTabWidget 选项卡在垂直方向,但文本在水平方向

    我正在尝试用 C Qt 制作一个带有这样的侧边栏的应用程序 但是当将 QTabWidget 方向设置为西时 它会使文本垂直 如何让文本位于左侧 但水平对齐 PS 我不需要图标 提前致谢 您可以使用QListWidget http doc q
  • 通过单击内部小部件而不是标题栏来移动窗口

    在 Windows 中 当我创建 QMainWindow 时 我可以通过单击标题栏并拖动它来在屏幕上移动它 在我的应用程序中 我使用隐藏了标题栏setWindowFlags Qt CustomizeWindowHint 我正在尝试使用小部件
  • Qt 相当于 .NET 数据绑定吗?

    Qt 中是否有相当于 NET 数据绑定的功能 我想使用引用数据库中特定实体的 QString 填充一些组合框和其他小部件 但是 如果我可以将数据绑定到这些字符串 而不是基于新的组合框选择再次查询数据库 或者基于构建我自己的将使用 QStri
  • 使用 C++ 访问 Azure blob 存储 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • QByteArray 到整数

    正如您可能从标题中看出的那样 我在转换QByteArray为一个整数 QByteArray buffer server gt read 8192 QByteArray q size buffer mid 0 2 int size q siz
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • QThread - 使用槽 quit() 退出线程

    我想在线程完成运行时通知对象 但是 我无法让线程正确退出 我有以下代码 处理器 cpp thread new QThread tw new ThreadWorker connect tw SIGNAL updateStatus QStrin
  • 使用 qbs 构建 qt 应用程序

    我想知道在 Linux 上使用 qbs 编译 构建和创建 Android Qt 应用程序的步骤 我拥有所有必要的工具 目前我可以使用 qmake 创建 apk Qbs 目前不支持构建 Qt Android 应用程序 Qbs v1 4 中引入
  • QML MouseArea 将事件传播到按钮

    我正在开发一个应用程序 其菜单类似于 Android 版 Gmail 收件箱应用程序菜单 基本上 当您按下按钮打开菜单时 它就会滑入视图 用户可以将其滑开或按菜单上的按钮 对于滑动我使用了代码SwipeArea from kovrov ht

随机推荐

  • 【ELK系列二】es的UI界面elasticsearch-head插件安装

    安装elasticsearch head插件 由于es服务启动之后 访问界面比较丑陋 为了更好的查看索引库当中的信息 我们可以通过安装elasticsearch head这个插件来实现 这个插件可以更方便快捷的看到es的管理界面 1 com
  • 爬虫学习4——Xpath爬取网页信息

    xpath是在XML文档中搜索内容的一门语言 我们常见的html是xml的一个子集 目录 安装lxml模块 获取网页数据 text 拿文本 xpath使用 1 选择同种标签的第一个 a href 根据属性href的值选择特定标签 表示后代
  • 《Docker技术入门与实战》学习笔记——第一部分 基础入门

    文章目录 0 前言 1 1 docker 镜像 1 2 docker 容器 1 3 docker 仓库 2 容器的生命周期 3 docker 命令索引 学习材料 0 前言 近期 工作中docker用的比较多 由于之前并没有怎么使用过dock
  • QT 环境搭建

    qt环境搭建 转载于 http blog csdn net gotosola article details 20397385 0 tsina 1 37407 397232819ff9a47a7b7e80a40613cfe1 Qt在Wind
  • Oracle 生成UUID

    select rawtohex sys guid from dual 文章质量建议 感谢你的创作 你可以考虑下面的改进以获得更多流量支持 增加更完备的描述 提供代码 减少外链 增加投票来和读者互动 更多建议
  • SpringBoot之bean解析(四)

    IOC思想解析 IOC 控制反转 全称为 Inverse of Control 从字面上理解就是控制反转了 将对在自身对象中的一个内置对象的控制反转 反转后不再由自己本身的对象进行控制这个内置对象的创建 而是由第三方系统去控制这个内置对象的
  • linux 配置服务开机自启动之chkconfig(Linux 运行级别)

    文章目录 linux 配置服务开机自启动 systemd 和 chkconfig add 设置开机自启动有什么区别 一 如何让一个服务或脚本开机自启动 1 三种解决方案 2 systemd 和 chkconfig 二 chkconfig 1
  • [OpenGL]射线拾取RayPicking---(2)拾取三角面

    Vries的教程是我看过的最好的可编程管线OpenGL教程 没有之一 但没有讲关于拾取 Picking 的章节 而这个功能的确很重要 就自己试着写写看了 核心代码 参考 网址如下 别问 问就是抄 https www cnblogs com
  • MATLAB自相关分析xcorr

    目录 自相关定义 xcorr的应用 举个栗子 自相关定义 信号 x t x t x t 的自相关函数定义为 其中 T为信号 x
  • 2016.5.23

    2016 5 23 news from BBC China s Science Revolution 这篇文章非常棒 推荐阅读 今天只完成4个部分 明天继续mark introduction From building the bigges
  • 将 InputStream 流转成 MultipartFile

    MultipartFile是一个接口 有一个MockMultipartFile实现类 里面有构造方法可以直接将输入流转为MutipartFile对象 MultipartFile File new MockMultipartFile file
  • @angular前端项目代码优化:构建Api Tree

    前颜 yan 在前端项目的开发过程中 往往后端会给到一份数据接口 本文简称api 为了减少后期的维护以及出错成本 我的考虑是希望能够找到这么一种方法 可以将所有的api以某种方式统一的管理起来 并且很方便的进行维护 比如当后端修改了api名
  • 三维重建(单目、双目、多目、点云、SFM、SLAM)

    1 相机几何与标定 1 1 相机模型中的坐标系 1 2 四种坐标系之间的转换 1 3 相机内参 1 4 相机标定 2 传统三维重建 2 1 RGBD三维重建 2 1 1 KinectFusion 2 1 2 BundleFusion 2 1
  • CentOS7 Failed to start LSB: Bring up/down解决方法

    刚刚装好的虚拟机突然不能上网了 报错很诡异 具体报错如下 etc init d network restart Restarting network via systemctl Job for network service failed
  • three.js加载fbx并解析骨骼动画

    three js加载fbx并解析骨骼动画 话不多说 上代码
  • SpringBoot如何打包项目?

    我们打包SpringBoot项目一般是打包成jar包或者war包 jar包和war包最大的区别在于jar包打出来的可直接运行 我们可以直接进行访问 因为他内前置了tomcat服务器 但是war包在打包的时候会提前移除tomcat相关组件 我
  • Verilog入门——Quartus2基础使用

    一 新建工程 1 打开Quartus2 2 点击菜单栏中的 file 选择 New Project Wizard 3 点击Next 4 选择工程存储路径 5 输入工程名字 6 点击Next 7 选择fpga类型和型号 根据自己的板子型号选择
  • 最简单的DRM应用程序 (single-buffer)

    在上一篇DRM Direct Rendering Manager 学习简介 中 我们学习了DRM的基本概念以及基本组成元素 从本篇开始 我将以示例代码的形式 给大家分享学习DRM驱动开发的整个学习过程 在学习DRM驱动之前 应该首先了解如何
  • 【java】ssh the connection is not authenticated

    文章目录 1 概述 1 概述 首先参考 java java ssh 远程执行命令 并且获取执行的结果 然后讲述一下 这个问题 这是一段很久的代码 以前是能正常工作的 环境如下 Docker flink node 这里ssh kafka no
  • QT笔记-窗体设置

    1 窗体设置 个窗体初始运行最大化 setWindowState Qt WindowMaximized 获取屏幕分别率 并设置窗体固定大小 QScreen screen QGuiApplication primaryScreen QRect