首页
学习
活动
专区
圈层
工具
发布

【Windows编程】系列第八篇:创建通用对话框

当然除了这些单独的控件之外,对于像文件打开、保存对话框,字体对话,颜色对话框等对于Windows本身会用到,在很多第三方的应用程序中也会用到。...本篇以最常见的文件打开/保存对话框、字体对话框、颜色对话框为例,来学习如何创建这些对话框,其他的对话框使用大同小异,且在MSDN上基本都有使用实例。...lpstrFile:该参数用于保存选择结束后的选择文件。 nMaxFile:该参数指出上面用于保存结果文件的buffer字符长度。 Flags:该参数最常见用于设置是否可以多选,其他请查看MSDN。...|OFN_OVERWRITEPROMPT; if (GetOpenFileName(&ofn))//GetOpenFileName, GetSaveFileName { LPTSTR file...在demo中选择三个对话框后,选择的文件、颜色和字体均画在窗口上: ?

1.5K140
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    二、Qt定时器与文本编辑器制作《QT 入门到实战》

    接着我们加入打开文件的 menu : 再接着添加对应的另存为 menu : 还有一个新建文件 menu 忘记添加了,在此添加上: 再接着我们更改一下对应的菜单名称,在 ui 设计窗口右上角更改对应的打开和另存为...> 随后在 openActionSlot 槽函数中使用 QFileDialog 调用 getOpenFileName,其中 getOpenFileName 一般接收 4 个参数,第一个是资源选择框的父对象是谁...、关闭对话框等),其返回值为空,那么在正式读取文件操作之前,我们需要对应的判断当前是否选中文件,此时直接使用 if 判断 filename 的内容是否为 Empty 即可: if(!...;在此基础上巩固了信号与槽,在制作的过程中使用了垂直布局直接并有效的布局了整个 ui 界面。...在此基础上还学习了什么是 menu 以及什么是 menu 的 action,并且在 action 上通过使用取地址符的方式创建了对应的快捷按钮,使其文本编辑器的操作更加的方便,这一节还学习了对应的定时器

    1.5K20

    QFileDialog文件选择框

    (.*)” 2.1成员函数 QFileDialog的成员函数很多,下列罗列最常用的成员函数: 2.1.1静态成员函数(最常用) getOpenFileName() 功能:弹出标准"打开文件"对话框 参数...:父窗口指针、标题、初始目录、文件过滤器 返回:用户选择的单个文件路径(QString) 示例: QString file = QFileDialog::getOpenFileName(this, "打开文件...", "/home", "文本文件 (*.txt)"); getSaveFileName() 功能:弹出标准"保存文件"对话框 参数:同上 返回:用户输入的保存路径(QString) 示例: QString...,在某一地址下创建一个新的文件,并在文件中写入内容!...fileName // 尝试以“写入 + 文本模式”打开文件,如果文件不存在,会自动创建 // 注意:若打开失败应检查路径是否有效、权限是否足够 if

    1K10

    PE文件解析器的编写(二)——PE文件头的解析

    之前在学习PE文件格式的时候,是通过自己查看各个结构,自己一步步计算各个成员在结构中的偏移,然后在计算出其在文件中的偏移,从而找到各个结构的值,但是在使用C语言编写这个工具的时候,就比这个方便的多,只要将对应的指针类型转化为各个结构类型...PE文件")); InitCommandCtrl(); } } } 在这段代码中首先通过GetOpenFileName函数来弹出一个选择文件的对话框。...,具体标识请查看MSDN,一般我们用这样几个就足够了 一般只需要更改标题,内存缓冲区指针和它的大小,其余按照上面的代码默认就好 用户选择后,将用户选择的文件的全路径显示出来,并调用CPefileInfo...= IMAGE_NT_SIGNATURE) { return FALSE; } return TRUE; } 在加载的时候,主要通过一个文件映射的方式,将pe文件的整个内容原模原样的拷贝到内存中...在程序中有一个判断该文件是否是PE文件的操作。

    1.6K20

    Qt5实战第十五篇:Qt5综合实战项目——构建一个简易的文本编辑器

    文本查找与替换:支持在文本中查找和替换指定的字符串。文本格式化:提供基本的文本格式化功能,如字体、大小、颜色等(可选)。插件支持(高级功能):允许用户通过插件扩展编辑器的功能,如语法高亮、代码折叠等。...实现打开文件对话框(QFileDialog::getOpenFileName)和保存文件对话框(QFileDialog::getSaveFileName)。...实现替换功能,并允许用户选择是否全部替换。4.文本格式化(可选):使用QTextCharFormat和QTextCursor类来设置文本的格式。提供格式设置对话框,让用户可以选择字体、大小、颜色等。...在主程序中,使用QPluginLoader加载插件,并通过接口访问插件的功能。在主窗口中提供插件管理的界面或菜单项,让用户可以启用或禁用插件。...四、总结通过构建一个简易的文本编辑器项目,我们不仅巩固了Qt5的基础知识,还学习了如何将它们综合应用到实际的项目中。

    84110

    Qt的QFile

    专门讲QFileDialog的博文 1.创建QFile对象 我们在创建QFile对象的时候会用到,QFile的构造函数,我们一起来看一下它有什么构造函数吧。...2.文件在删除前已关闭 用法都跟上方的差不多就不做例子了,第一个需要一个QFlie对象点出来,第二个你只需要文件名就行。...2.链接是什么取决于底层文件系统(可能是Windows上的快捷方式,也可能是Unix上的符号链接)。如果成功返回true;否则返回false。...4.注意:要在Windows上创建有效的链接,linkName必须有一个.lnk文件扩展名 symLinkTarget() :获取快捷方式路径字符串 静态 QString QFile::symLinkTarget...(或Windows上的快捷方式)所引用的文件或目录的绝对路径,如果文件名不对应于符号链接,则返回空字符串。

    2.5K10

    04 qt功能类、对话框类和文件操作

    一 QT中时间和日期 时间 ---- QTime 日期 ---- QDate 对于Qt而言,在实际的开发过程中, 1)开发者可能知道所要使用的类 ---- >帮助手册 —>索引 -->直接输入类名进行查找...2)开发者可能不知道所要使用的类,只知道开发需求文档 ----> 帮助 手册,按下图操作: 1 QTime 头文件:#include 模块:在项目的pro文件中,查看是否包含模块...创建时间的对象的方式有两种:构造函数----- 指定一个时间 通过静态成员函数—currentTime() — 获得当前操作系统的本地时间 功能: 1)直接获取操作系统的时间 [static]...,增加指定的毫秒QTimeaddSecs(int s) const// 在给定的时间基础上,增加指定的秒 二 日期类 QDate 功能:获取系统当前的日期 创建对象的方法: 1)构造函数:QDate...(); //这周的第几天 三 QT对话框类部件 对于对话框的功能,在GUI图形界面开发过程,使用是非常多,那么Qt也提供了丰富的对话框类。

    51310

    C++ Qt开发:标准Dialog对话框组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍标准对话框QInputDialog...该方法提供了一个SpinBox选择框,在输入时可以通过传入minValue限制最小值,maxValue限制最大值,通过stepValue设置每次步长,代码如下;void MainWindow::on_pushButton_int_clicked...items: 字符串列表,表示下拉框中的选项。currentItem: 初始时被选中的项的索引。editable: 是否允许用户编辑下拉框中的文本。...2.1.1 选择文件在选择单个文件时可以通过调用getOpenFileName方法实现,QFileDialog::getOpenFileName 是 Qt 中用于显示打开文件对话框并获取用户选择的文件名的静态方法...getSaveFileName方法来实现,QFileDialog::getSaveFileName 是 Qt 中用于显示保存文件对话框并获取用户选择的文件名的静态方法。

    1.3K10

    C++ Qt开发:标准Dialog对话框组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍标准对话框QInputDialog...该方法提供了一个SpinBox选择框,在输入时可以通过传入minValue限制最小值,maxValue限制最大值,通过stepValue设置每次步长,代码如下; void MainWindow::on_pushButton_int_clicked...方法返回用户选择的项,如果用户取消了对话框,则返回一个空字符串。你可以根据需要调整标签、初始选中项、是否可编辑等参数,以满足你的具体需求。...2.1.1 选择文件 在选择单个文件时可以通过调用getOpenFileName方法实现,QFileDialog::getOpenFileName 是 Qt 中用于显示打开文件对话框并获取用户选择的文件名的静态方法...getSaveFileName方法来实现,QFileDialog::getSaveFileName 是 Qt 中用于显示保存文件对话框并获取用户选择的文件名的静态方法。

    1.7K10

    【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)

    5.3 文件类型过滤器 在文件对话框中,我们可以通过文件类型过滤器限制用户只能选择特定类型的文件。例如,下面是一些常见的文件类型过滤器: "文本文件 (*.txt)":只显示 .txt 文件。...在 QFileDialog 中,多个文件类型可以通过 ;; 分隔。...通过 setItem() 方法,我们将每条记录中的姓名和年龄填充到相应的行和列中。 6.4 使用 pandas 与 QTableWidget 在处理大量数据时,pandas 是一个非常强大的库。...通过 pandas 的强大数据处理能力和 QTableWidget 的可视化展示功能,我们可以轻松将数据展示在应用程序中。...4-6部分总结 在第4至第6部分中,我们深入讲解了 PyQt5 的信号与槽机制,展示了如何通过信号和槽处理用户操作事件,如按钮点击和文本输入。

    8.5K311

    拼图

    Easyx图形库给出了鼠标消息 MOUSEMSG 对象,可以通过GetMouseMsg()这个函数将鼠标点击消息存储在MOUSEMSG 对象里面。...判断输赢就是每张图片在对应在对应的位置上。这里我用逆序数为0判断输赢。 第三步就是打乱图片顺序,我参考了大量网上资源,发现利用线性代数里面一个概念:逆序数 来判断拼图游戏是否可以完成拼图。...详情百度逆序数或者在线性代数课本上找排列及其逆序数这一小节,一般在课本的第一章,很小的一个知识点,如果不是查阅相关信息我都想不起来。 所以说数学越好的程序员越牛逼,这不是空口白话。...ZeroMemory(&ofn, sizeof(ofn)); ofn.lStructSize = sizeof(ofn); ofn.lpstrFile = szFile; ofn.lpstrFile...这里梦凡利用的是逆序数为0判断是否获得胜利。 当然你也可以设置一个时间,当玩家在规定时间还没有完成游戏视为失败。

    1.2K30

    【Qt】:Dialog 对话框

    非模态对话框⼀般在堆上创建,这是因为如果创建在栈上时,弹出的非模态对话框就会一闪而过。...我们需要将 delete 和关闭按钮的点击信号关联起来,在用户点击关闭时触发 delete,Qt 为了让咱们写的方便, 直接给 QDialog 设置了一个属性,可以通过设置属性, 完成上述效果: Qt:...颜色对话框如下图示: 常用方法介绍: 创建对象的同时设置父对象 QColorDialog (QWidget *parent = nullptr) 创建对象的同时通过 QColor 对象设置默认颜色和父对象..., 修改窗口的背景色. // 可以通过 QSS 的方式设置背景色. // QString style = "background-color: rgb(" + QString::number...qDebug() 是否加粗: " << font.bold(); // 判断倾斜 qDebug() 是否倾斜: " << font.italic

    1.4K10

    DotNet4应用程序打包工具->升级版【二】安装工具分析

    在本系列的上一篇中, 我们给出了这个工具的具体的思路。 得到了很多朋友的反馈!...综合朋友的意见, 在没有改变工具原理的基础上 我对这个程序做了升级 如下图: 如你所见, 现在这个打包工具可以打包dotNet2.0  3.5  4 乃至所有在注册表中添加过注册表项的应用程序 下面我们就开始分析安装工具...ofn; memset(&ofn, 0, sizeof(OPENFILENAME)); ofn.lStructSize = sizeof(OPENFILENAME); ofn.lpstrFile...= 1; ofn.lpstrFileTitle = NULL; ofn.nMaxFileTitle = 0; ofn.lpstrInitialDir = NULL; if(GetOpenFileName...图标资源 这里需要重点说明一下: 要想更新一个应用程序的资源 必须先知道这个资源的ID GetIcoIndex函数的工作就是获取资源ID的 因为一般的应用程序图标资源都会有两个 所以获取了两个图表资源的

    47520

    Pyqt 主窗口(QMainWindow)简介

    工具栏:可容纳工具栏按钮和标签,组合框,微调框等其他部件的复合部件的部件,可调用程序中最常用的命令。默认位于菜单栏下方。实际上可停靠于中心窗口部件的四周,比停靠窗口更靠外。...状态栏:位于主窗口的底部的部件,用来显示一些提示消息。还可以嵌入其他部件显示额外的信息。 下面我写了一个简单的例子,只实现了极少数的功能,仅供参考。...后续会详细介绍主窗口(QMainWindow)程序各个部分的写法。推荐在浏览器中打开并横屏查看代码。...self.fileMenu.addAction(self.separator) def fileOpen(self): fileName, filetype = QFileDialog.getOpenFileName...self.textEdit.setText(f.read()) def fileSaveAs(self): fileName, filetype = QFileDialog.getSaveFileName

    2.3K30

    【QT】Qt窗口组成和初识对话框

    file.is_open()) { qDebug() << "文件保存失败"; return; } //将textedit中的内容通过普通文本存放在...QString filename = d->getOpenFileName(this,"加载文件","C:/Users/14725/Desktop"); //将filename转换成一个标准...tb->setAllowedAreas(Qt::LeftToolBarArea|Qt::RightToolBarArea); //设置是否可以作为一个独立的窗口被拖拽 tb->setFloatable...,弹出的对话框就是模态对话框,必须先对对话框进行交互才能进行下一步动作,不然父窗口是不能再编辑的 一般用QDialog::exec()函数调用,建立在栈区,因为该函数有阻塞作用,程序就会一直阻塞在这里不进行下一步...,有点类似于stm32中的中断哈 }); } (2)非模态对话框 非模态对话框显示后独立存在,可以同时与父窗口进行交互,一般建立在堆区,因为其不影响父窗口的特性,也就是无阻塞,如果建立在栈区往往会一闪而过

    47010
    领券