Achou.Wang
勿在浮沙筑高台
展开
-
QT的ui设计中改变样式表的用法
首先我们说一下这个功能具体是干嘛的, 我们在设置很多控件在界面上之后,常常都是使用系统默认的样式,但是当有些时候为了美化界面我们需要对一些控件进行美化这个时候就要用到样式表了,通过修改样式表可以实现对控件样式的任意改变。,用来设置对应类的样式,然后点击Apply就可以看到QPushButton的颜色已经发生了改变。在QT的ui设计中,我们右键会弹出一个改变样式表的选项,很多人不知道这个是干什么的。将光标停留在大括号中,选择添加颜色的小箭头,然后选择背景颜色。首先我们来看下具体的界面。原创 2023-09-27 23:54:15 · 885 阅读 · 0 评论 -
Qt中事件的处理
我们可以通过setCursor来改变光标的形状,每个继承Widget类的子类都有这个函数,这个函数一旦设置,鼠标的形状就会一直改变。如果在处理事件时,我们只是想,在事件触发时改变鼠标形状,当事件结束时鼠标形状自动修改回来,可以通过临时改变形状的接口进行设置。相对于鼠标事件按键事件反而简单一点,因为按键比较多,所以只需要监测按键的按下和释放即可。当一些时间到来时, 我们可能不想交给对应的组件,这个时候我们就需要用到事件过滤功能了。当然同样的效果也能使用QTimer实现。鼠标事件常用以下几个接口来处理。原创 2023-09-26 22:09:17 · 401 阅读 · 0 评论 -
自定义拖拽操作
完整源码: https://github.com/zzu-andrew/QT_examples/tree/main/qt_imagedragdrop。我们接下来会实现一个在窗口中拖拽图片的例子,具体功能就是窗口中有一个图片可以任意的拖拽移动这张图片。原创 2023-09-18 22:47:26 · 153 阅读 · 0 评论 -
拖放操作-拖动文件直接在窗口中显示文件内容
我们通过ui设计的时候,实际上是在和两个控件打交道,一个是主窗口一个是textEdit窗口,因此除了上述接口的实现我们还需要限制一下主窗口和textEdit窗口的行为。这里我们可以通过勾选ui界面的参数选项或者直接在代码中声明,因为我们这里重载的是主窗口的拖拽接口,因此在这里需要将主窗口设置为true,textEdit窗口的拖拽行为设置为false,为什么这样设置才可以,因为这个示例中我们重载的接口是主窗口的拖拽功能而不是textEdit接口的拖拽功能,因此需要将textEdit默认拖拽功能进行限制。原创 2023-09-17 11:28:06 · 559 阅读 · 0 评论 -
设置伙伴(buddy)-给窗口控件增加快捷键
在官方教程或者很多qt程序中经常看到能使用全键盘操作软件,那么QT creator也支持了这一特性,就是使用设置伙伴来实现的。最终进行预览,只需要按住Alt+对应的字母即可实现将输入光标跳转到对应的输入框中。原创 2023-09-14 22:42:35 · 245 阅读 · 0 评论 -
Qt消息机制和事件
事件是由Qt或者系统在不同时刻发出的,当敲下鼠标,或者按下键盘,或者当窗口需要重新绘制的时候,就会发出一个相应的事件,一些操作由用户的操作发出,一些则由系统自动发出,如系统定时器事件等。事件对象创建完成之后,Qt将会把事件传递给这个事件的event()函数,event函数并不是直接处理事件而是将事件按照不同类型分发给不同的事件处理器。Qt事件是整个Qt框架的核心,也比较复杂,因为里面牵涉到的函数众多,处理方法也有很多,但是只要耐心的整理一下,实际项目中真正用到的也就那几个经典的。原创 2023-09-14 00:00:36 · 385 阅读 · 0 评论 -
Qt的窗口系统
Qt 支持模态对话框和非模态对话框。使用 QDialog::exec()实现应用程序级别的模态对话框使用 QDialog::open()实现窗口级别的模态对话框使用 QDialog::show()实现非模态对话框。Qt有两种级别的模态对话框应用程序级别的模态当这种对话框出现时,用户必须首先对对话框进行交互,直到对话框关闭,才能访问程序的其他窗口窗口级别的模态该模态仅仅阻塞与对话框关联的窗口,但是依然允许用户与程序中其他窗口交互一般情况下,默认都是应用程序级级别的模态。原创 2023-09-10 22:38:14 · 763 阅读 · 0 评论 -
信号和槽机制
使用connect接口不但能使用官方提供的接口也能使用自定义的信号槽,下面我们来实现一个自定义的信号和槽的使用。Q_OBJECTpublic:// 通过emit调用信号接口发出信号signals:// 用来发送信号的接口private:定义的类需要继承QObject类,只有继承了这个类才具有信号槽的能力。原创 2023-09-08 23:30:24 · 179 阅读 · 0 评论 -
创建QT项目
经过了令人苦恼的版本选择,然后又经历了IDE熟悉以及纯C++应用的创建,接下来终于进入了激动人心的时刻-开启第一个QT项目。原创 2023-09-07 20:45:46 · 241 阅读 · 0 评论 -
纯源码程序的执行
QT Creator本身是个IDE安装的时候根据自己需要配置的又有对应的编译器,因此编写普通的程序也不再话下。原创 2023-09-07 19:27:17 · 203 阅读 · 0 评论 -
QT 5.13保姆级安装教程
凡是软件,选新不选旧,一般没有什么问题,但是在QT这里如果你是个初学者,建议还是从5.x开始,毕竟6.x刚出来,初学者想要找6.0的学习资料比较困难。一旦确定好版本之后,安装就比较简单了,直接按照提示点击下一步就行了,不过现在新版本的QT需要注册个QT账号并填上验证之后才能使用,不能跳过了。选好安装目录之后,就需要选择需要安装的组件了,我这里使用的MinGW 64位。这里是选择安装目录,因为QT有很多组件,最好选C盘以外的其他盘,会占用大量的空间。经过以上步骤之后,剩下的就等安装完成即可。原创 2023-09-07 13:23:20 · 1088 阅读 · 0 评论