一、功能需求 一般在软件开发中,需要都有选择区域的需求,比如: 1. 截图软件,需要鼠标选择指定区域截图 2. 屏幕录像软件,需要鼠标选择指定区域录像 3....);//无边框 置顶 //设置窗口背景透明 setAttribute(Qt::WA_TranslucentBackground); //全屏显示 showFullScreen...MinGW32 功能: 进入全屏 */ void Widget::on_pushButton_clicked() { showFullScreen(); } /* 工程: HTTP_Request...日期: 2021-08-12 作者: DS小龙哥 环境: win10 QT5.12.6 MinGW32 功能: 退出全屏 */ void Widget::on_pushButton_2_clicked...> #include QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE class Widget
三、实现简单的转码 1、在开始转码按键的 clicked 槽函数加入以下代码: void Widget::on_pushButton_Running_clicked() { qDebug() Qt_5_14_2_MSVC2017_32bit-Debug 目录下看到转码成功的 flv 文件 四、功能优化 1、控件布局及美化 Widget...效果如下: 2、缩放界面 事件过滤器:(双击,全屏) // 事件过滤器:(双击,全屏) bool Widget::eventFilter(QObject *obj, QEvent *event)...::eventFilter(obj, event); } } 效果: ESC 键退出全屏 // 按键:(esc--退出全屏) void Widget::keyPressEvent(QKeyEvent...videoCodecName[256]; char audioCodecName[256]; char muxerName[256]; // 定义了一个无参数的构造函数__TCParams(),在该构造函数中调用了一个名为
png 在主Widget上拖一个Widge控件,然后设置Widget的窗体,以「qss」的形式设置窗体的背景图 ui->widget->setStyleSheet(QString("background-image...->选择Qt Desiger Form->选择Widget UI是这样设计的 ?...::FramelessWindowHint); //无边框 LabWidget->showFullScreen(); //全屏 } 这里要无边框全屏显示,否则显示不全 动态壁纸 动态壁纸就是将与桌面建立父子关系的...Widget显示视频,这个就需要视频解码,Qt自带的QMediaPlayer虽然也能解码,但是视频解码的种类拙荆见肘,我就记的可以解码一个.avi格式的视频 那如果想要显示mp4,WMV等等格式的视频...❞ 这里我先给出本期项目的GitHub地址,然后欢迎Star,如果有Star的话,这个项目我会继续增加完善功能,最少整个vlc动态壁纸,上次的NodePad一堆的Bug,没有兴趣去解决,以后无聊了在去解决
Phonon是一个跨平台多媒体框架,能够在Qt应用程式中使用与播放影音多媒体内容。...VideoPlayer widget如它的名字一样,就是用来播放video,而且使用起来相当简易,而且功能也不会缺少,包括播放、暂停与停止。...类别物件时,可以在constructor就载入多媒体种类与要放在哪个widget中(即为 parentWidget),而media source可以利用函式load()来载入或是在play()时载入,而载入方式可直接从档案或是从网路位址...你可以利用一些函式来控制在QWidget中的VideoWidget显示的大小,你可以利用setAspectRatio()或setScaleMode()来控制,而它们接收的参数可以到网站上察看,使用方式如下...phonon.Phonon.createPath(self.mediaObject, self.audioOutput) 7 self.mediaObject.play() 当然也有提供函式让影片进入或退出全屏幕模式
2.4 基本测试 1、双击打开QtCreator工具,并进入到"欢迎模式" 下的示例界面 2、在示例选择一个进行打开,打开会弹出一个页面,关闭这个页面即可,然后鼠标点击一个按钮 2.5 认识 SDK...也可以在"工具---->选项"菜单中对编辑器进行设置。 设计模式 整合了 Qt Designer 的功能。可以设计图形界面,进行部件属性设置、信号和槽设置、布局设置等 操作。...构建设置中可以对项目的版本、使用的Qt版本和编译步骤进行设置;编辑器设置中可以设置文件的默认编码;在代码风格设置中可以设置自己的代码风格。...帮助模式 在帮助模式中将 Qt助手整合了进来,包含目录、索引、查找和书签等几个导航模式,可以在帮助中查看 Qt 和 Qt Creator 的各方面信息。...3.4.1 widget.h 在Qt中,如果要使用信号与槽(signal和 slot)的机制 就必须加入O OBJECT宏; Ui::Widget *ui(process switch); 这个指针是用前面声明的
在 2008 年,诺基亚公司收购了奇趣科技公司,并增加了 LGPL(GNU Lesser General Public License)的授权模式。...#DEFINES + = QT_DISABLE_DEPRECATED_BEFORE = 0x060000 #禁用所有在Qt 6.0.0之前弃用的API # 项目中的源文件 删除后,项目里不会显示所有的源文件...qtcreator\styles目录中 最后进入文本编辑器选择 4.Qt+VS2019 为什么用VS写Qt程序?...单击“命令”标签,进入“命令”选项卡;在“菜单栏”下拉列表中,选择“文件”选项;单击“添加命令”按钮,弹出“添加命令”对话框。...在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。 单击“确定”。
默认打开视频不会自动播放。 自动显示在第一帧,视频放完停留在最后一帧。 13. 支持播放音频文件。可以显示音频文件的封面。 14. 鼠标左键双击放大. 全屏播放 15....filename); } isPressedWidget=false; //设置获取焦点 ui->AV_player->setFocus(); //窗口显示在屏幕正中间...::CustomContextMenu); /*绑定右键显示菜单:在单击右键之后会执行槽函数, 槽函数中负责弹出右键菜单*/ connect(ui->listWidget_videoData...widget_state; if(widget_state) //全屏 { showFullScreen(); ui->...每次打开视频默认是暂停状态,不会播放,只显示第一个画面." "11. 支持鼠标滚轮滚动预览画面.
❝开发中遇到了关闭窗口右上角"X"号居然不能正常退出程序,而是隐藏了窗口。究竟是什么回事呢? ❞ 问题重现 执行下列代码后点击右上角"X"号居然退出不了程序,而是隐藏了窗口。...if ((q->data->window_flags | flags) & Qt::Window) { ... // 为了向后兼容,我们只在重新创建窗口时才更改Qt::WA_QuitOnClose...= Qt::Widget && type != Qt::Window && type !...= Qt::Widget && type != Qt::Window && type !..., true)让其恢复关闭按钮退出的作用。
Qt学习—01 Qt下载地址:Qt下载网址 注意: 1.所创建项目路径不能有中文 2.所创建项目名称不能有中文和空格 3.默认创建有窗口类 widget,基类有三种选择:QWidget所有窗口的基类...包含一个应用程序类的头文件 //main程序的入口 argv命令行变量的数组 argc命令行变量的数量 int main(int argc, char *argv[]) { //a应用程序对象,在Qt...中应用程序对象有且仅有一个 QApplication a(argc, argv); //窗口对象 widget 父类是--->Qwidget //实例化窗口对象 Widget...w; //窗口对象默认不会显示,必须调用show方法显示窗口 w.show(); //让应用程序对象进入消息循环 //代码阻塞到该行,在return a.exec();...下面再写代码也不会执行 return a.exec(); } 后续持续更新中…,可点击进入我的主页查询
利用特殊的录像处理模式,可对图像进行录入、回放、处理等操作,使录像效果达到最佳。 视频监控系统由实时控制系统、监视系统及管理信息系统组成。...三、功能特点 支持16画面切换,全屏切换等,包括1+4+6+8+9+16画面切换。 支持alt+enter全屏,esc退出全屏。 自定义信息框+错误框+询问框+右下角提示框。...在pro文件中可以自由开启是否加载地图。 视频播放可选四种内核自由切换,vlc+ffmpeg+easyplayer+海康sdk,均可在pro中设置。...+ 1)); widgets.append(widget); } //加入到布局中 ui->gridLayout->addWidget(widgets.at(0...Qt::Unchecked : Qt::Checked); }
我的目的是在Qt开发过程中,如果需要用到OpenGL相关的三维模型开发,可以快速上手,所以我选择的是用Qt比较新的版本自己做一遍。至于内部图形学 原理,则是边写程序边学习,所以本教程比较适合初学者。...深度缓存不断的对物体进入屏幕内部有多深进行跟踪。我们本节的程序其实没有真正使用深度缓存,但几乎所有在屏幕上显示3D场景OpenGL程序都使用深度缓存。它的排序决定那个物体先画。...这个函数的作用是重新设置OpenGL场景的大小,而不管窗口的大小是否已经改变(假定您没有使用全屏模式)。...甚至您无法改变窗口的大小时(例如您在全屏模式下),它至少仍将运行一次——在程序开始时设置我们的透视图。OpenGL场景的尺寸将被设置成它显示时所在窗口的大小。...false //这里弹出一个消息对话框,让用户选择是否使用全屏模式 switch( QMessageBox::information( nullptr, "Start FullScreen
调用槽函数是Qt框架来执行的,connect中的sender和recever两个指针必须被实例化了, 否则conenct不会成功。 2....同样的,在Qt的很多类内部为我了提供了很多功能函数,并且这些函数也可以作为触发的信号的处理动作,有这类特性的函数在Qt中称之为标准槽函数。...系统自带的信号和槽通常如何查找呢,这个就需要利用帮助文档了,在帮助文档中比如我们上面的按钮的点击信号,在帮助文档中输入QPushButton,首先我们可以在Contents中寻找关键字 signals,...Qt4的方式在传信号和槽的时候用了宏进行强转,而且都带了参数,不会有二义性问题产生 Qt5中,信号和槽都有重载,此事connect函数根本就不知道你要使用的是重载中的哪一个,所以只能报错咯!...如何解决Qt5中的信号和槽重载中的二义性问题呢?
在UI线程调用QThread::quit()或QThread::exit()函数会不会停止线程? 在UI线程调用QThread::terminate函数会不会停止线程? 如何正确的退出线程?...在ui的头文件中声明一个线程的指针 widget.h: ThreadFromQThread* m_thread; 1 wodget.cpp: class Widget : public QWidget...理论上所有QObject都不应该手动delete,如果没有多线程,手动delete可能不会发生问题,但是多线程情况下delete非常容易出问题,那是因为有可能你要删除的这个对象在Qt的事件循环里还排队,...还有一种方法是让QThread自己删除自己,就是在new线程时,不指定父对象,通过绑定**void QObject::deleteLater () [slot]**槽让它自动释放。...程序在退出时要判断各线程是否已经退出,没退出的应该让它终止 如果不进行判断,很可能程序退出时会崩溃。
在代码中设置字体属性 编写 widget.cpp,然后运行程序即可 在实际开发中,字体属性如何选择是一个 “审美问题”,而不是 “技术问题”,往往需要有一定的艺术细胞。...所谓的前缀,可以理解成 “虚拟的目录”,这个目录在我们的电脑中并不是真实存在的,是 Qt 自己抽象出来的,它决定了后续我们如何在代码中访问资源。...运行成功后,我们可以进入到项目的构建目录中可以看到:目录中多了一个 qrc_resource.cpp 文件,直接打开这个文件可以看到: qrc 中导入的图片资源会被转成这个 qrc_resource.cpp...上述 qrc 这一套资源管理方案的优点和缺点都很明显: 优点:确保了图片、字体、剩余等资源能够真正做到 “目录无关”,无论如何都不会出现资源丢失的情况。 缺点:不适合管理体积大的资源。...编辑完成样式之后,可以看到在 Qt Designer 中能够实时预览出效果: 实现切换夜间模式 日间模式:文字是黑色的,背景是白色的。 夜间模式:文字是白色的,背景是黑色的。
为了让被覆盖的其它窗体能正常响应鼠标事件,需要屏蔽自己窗体的鼠标事件 本文所讲的方法就是使用窗体实现 DirectX实现 许多全屏游戏的画面是由DirectX或OpenGL绘制,此时所有窗体都会被屏蔽,...我所能想到的方法是Hook到显卡驱动,在DirectX绘图之后执行自己的绘图代码 半透明窗体 使用Qt创建一个窗体,修改windowOpacity值为0.5,即可实现半透明5148 事件传递与窗体属性...); 窗体属性 修改窗体属性 SetWindowLong(hwnd, GWL_EXSTYLE, widgetStyle); //永远置顶 this->setWindowFlags(Qt::WindowStaysOnTopHint...Alt+Tab菜单中 WS_EX_APPWINDOW: 窗体将被放置到任务栏之上 以上代码都是在窗体展示之前做的,下面的代码用于在窗体展示之后设置最大化并置顶 this->setWindowState...源文件 在第十三届软件外包大赛期间,不提供源代码
c=article&a=read&id=24889 Qt 中的 sizeHint 属性,sizeHint() 如何使用?...Qt 中的 minimumSizeHint 属性,minimumSizeHint() 如何使用?...Qt 中的 sizePolicy 属性,setSizePolicy()、sizePolicy()如何使用?...的实际大小; 从输出结果中可以证明以上说过的两点: 1) 在 widget 有 layout 的情况下,其 sizeHint() 函数返回的是有效值作为其自身实际尺寸的参考; 2) sizeHint...If minimumSize() is set, the minimum size hint will be ignored.] layout 永远也不会把一个 widget 的大小设置到比 minimumSizeHint
静态多态也使记忆API和编程模式更加容易。因此,一组相关的类有相似的API有时候比每个类都有各自的一套API更好。 一般来说,在Qt中,如果没有足够的理由要使用继承,我们更倾向于用静态多态。...与此相反,我们在开发Qt时倾向于指针,因为指针让用户代码可读性更好。...尽量让使用的const保持实用有效,这点很重要。 让我们看一下在Qt的API设计中与const相关的场景。...在Qt中,我们几乎只有非const的使用模式。我们选择的是实用路子: 相比滥用非const指针返回类型带来的问题,返回const指针更可能招致过分使用const_cast的问题。...在Qt 4中,此函数重命名为QString::simplified()。 虽然参数名不会出现在使用API的代码中,但是它们给程序员提供了重要信息。
,而 import 到其他脚本中是不会被执行的,因此可以在if __name__ == 'main':下放这个Python 文件的测试代码,即 import 到其他的 python 脚本中不会被执行的代码...面向对象版本 面向对象就是在编程的时候尽可能的去模拟真实的现实世界,按照现实世界中的逻辑去处理一个问题,分析问题中参与其中的有哪些实体,这些实体应该有什么属性和方法,我们如何通过调用这些实体的属性和方法去解决问题...无状态 Qt.WindowMinimized 最小化 Qt.WindowMaximized 最大化 Qt.WindowFullScreen 全屏 Qt.WindowActive 活动窗口 windowState...,箭头的优先级高 print(tool_btn.arrowType()) # 输出:4 自动提升 setAutoRaise(bool) autoRaise() 在自动提升模式下,该按钮仅在鼠标指向时才会绘制...这里涉及到下面的菜单弹出模式 它的默认弹出模式是,按住一会才会弹出菜单。
QWidget 核心属性 在 Qt 中, 使⽤ QWidget 类表⽰ “控件”....在 Qt Designer 中, 随便拖⼀个控件过来, 选中该控件, 即可在右下⽅看到 QWidget 中的属性 这些属性既可以通过 QtDesigner 会直接修改, 也可以通过代码的⽅式修改. 1....;是普通箭头, 还是沙漏, 还是十字等形状;在 Qt Designer 界面中可以清楚看到可选项....focusPolicy 该 widget 如何获取到焦点....取值如下: Qt::NoFocus :控件不会接收键盘焦点 Qt::TabFocus :控件可以通过Tab键接收焦点 Qt::ClickFocus :控件在⿏标点击时接收焦点 Qt::StrongFocus
Qt designer是专门用来制作PyQt程序中U界面的工具,它生成的UI界面是一个后缀为.ui的文件。...Qt designer符合MVC(模型—视图一控制器)设计模式,做到了显示和业务逻辑的分离。 Qt designer具有以下优点。...在模板选项中,最常用的就是Widget(通用窗口)和 Main Window(主窗口)。...在PyQt 5中 Widget被分离出来,用来替代 Dialog,并将Widget放入了QtWidget模块库中。...: 进入到.ui文件根目录 此时,在输入pyuic5 -o firstMainnWin.py firstMainwin.ui 转换成功 转换完成,在C:\Users\Administrator\Desktop