Qt
zy010101
会写一点代码
展开
-
Qt绘图设备
我也不转载了。直接看豆子博客:https://www.devbean.net/2012/12/qt-study-road-2-paint-device/需要说明的是现在Qt下使用OpenCV和OpenGL是很方便的,关于图像的处理你可能需要OpenCV,关于图形的绘制,渲染,你可能需要OpenGL。...原创 2020-04-11 11:43:04 · 184 阅读 · 0 评论 -
Qt绘制COS函数
Qt的绘图系统是极其强大的。下面来展示一下绘制自定义图形的大致绘图方式。void MainWindow::paintEvent(QPaintEvent *event){// paint = new QPainter(this);// paint->setPen(QColor(0,0,255));// paint->drawLine(30,30,300,3...原创 2020-04-11 11:34:08 · 2021 阅读 · 0 评论 -
Qt绘图事件
Qt的绘图是在绘图事件中完成的。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。QPainter是用来绘制的,QPainterDevice是绘图设备,QPainter会把图绘制在QPainterDevice上面。...原创 2020-04-11 10:29:55 · 782 阅读 · 0 评论 -
Qt定时器(二)QTimer
使用timerEvent可以捕获到定时器事件,但是当定时器较多的时候,使用事件来捕获显得不怎么方便。因此,我们可以使用<QTimer>来完成。在我们需要使用定时器的地方new一个QTimer出来。如下:QTimer *timer1 = new QTimer;timer1->start(500); //单位毫秒,定时500ms//todo//ti...原创 2020-04-10 14:54:24 · 412 阅读 · 0 评论 -
Qt定时器(一)
定时器也是一个我们经常使用的东西。下面的代码演示了定时器的基本使用方法。#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui->s...原创 2020-04-10 00:43:57 · 203 阅读 · 0 评论 -
Qt事件
事件是指诸如,移动鼠标,点击按钮,定时器,按下键盘等。他们是由系统或者Qt发出的。所谓事件驱动,简单地说就是你点什么按钮(即产生什么事件),电脑执行什么操作(即调用什么函数)。也就是说当我们的界面显示以后,程序就进入了事件循环。程序在等待事件的发生,假设你的界面上可能有3个按钮,那么程序不肯能一个按钮一个按钮的向下执行,他需要等你按下按钮才行。只有你按下了按钮。那么相应的事件才会发生。事件驱动的设...原创 2020-04-09 23:15:25 · 194 阅读 · 0 评论 -
Qt中常见的错误
信号函数或者槽函数有多个重载。例如:valueChanged()函数有两个重载,那么我们在使用这个信号的时候就需要使用一个函数指针明确的指向其中一个函数。例如:void (QSpinBox:: *p)(int) = &QSpinBox::valueChanged;这样p就明确的指向了参数是int的valueChanged函数。这就不会造成信号槽连接错误。没有执行...原创 2020-04-09 22:56:13 · 684 阅读 · 0 评论 -
Qt自定义控件
Qt允许我们自定义控件。这大大提高了设计UI的通用性。首先,新建一个项目。然后添加Qt设计师界面类。如下所示:然后给你的控件起个名字,比如MyWidget。创建完成以后,会直接来到UI设计界面。我们往里面拖一个Spin Box和Horizontal Slider。然后把控件弄到你想要的大小:然后在你的Main Window.ui中拖一个Containe...原创 2020-04-09 22:19:34 · 804 阅读 · 0 评论 -
Qt布局管理器
在使用Qt Design来设计界面布局的时候,Qt为了方便我们提供了布局管理器。但是一定要设计了布局,才能使用弹簧,否则弹簧没有效果。如下所示:上图就是一个局部使用水平布局,而整体使用了垂直布局。实际运行效果如下:如果是普通的登陆界面,那么我们有必要把界面的大小写死。这样并不会影响用户的任何体验。具体关于布局管理器的介绍请看豆子的博客:https://www.devbean.n...原创 2020-04-09 14:34:14 · 240 阅读 · 0 评论 -
Qt模态对话框和非模态对话框
Qt 中使用QDialog类实现对话框。我们的对话框通常继承自QDialog。对话框分为模态对话框和非模态对话框。所谓模态对话框,就是会阻塞同一应用程序中其它窗口的输入。...原创 2020-04-08 17:18:54 · 322 阅读 · 0 评论 -
Qt对象模型
标准 C++ 对象模型在运行时效率方面卓有成效,但是在某些特定问题域下的静态特性就显得捉襟见肘。GUI 界面需要同时具有运行时的效率以及更高级别的灵活性。为了解决这一问题,Qt “扩展”了标准 C++。所谓“扩展”,实际是在使用标准 C++ 编译器编译 Qt 源程序之前,Qt 先使用一个叫做 moc(Meta Object Compiler,元对象编译器)的工具,先对 Qt 源代码进行一次预处理(...转载 2020-04-08 16:45:47 · 166 阅读 · 0 评论 -
Qt添加资源文件
为了方便跨平台使用,Qt提供了一个资源系统。资源系统用于将程序运行时所需要的资源以二进制的形式存储于可执行文件内部。也就是把资源文件编译成为可执行文件的一部分。这样就不怕路径问题以及资源文件被误删。在这里先分享一个免费获取图标的网站:https://www.iconfinder.com/好了,下面来演示如何创建资源文件。首先,打开文件菜单,选择新建一个项目或者文件,选择下图所示的资源文...原创 2020-04-06 23:45:21 · 382 阅读 · 0 评论 -
QDockWidget和setCentralWidget
本文承接上文:Qt创建菜单栏,工具栏,状态栏本篇将介绍主窗口剩下的Dock Widget Area和Center Widget。在Qt中,使用QDockWidget来创建浮动窗口。而Center Widget则可以是任何能放到中间区域的控件。下面直接上代码来进行说明。//MainWindow.h文件#ifndef MAINWINDOW_H#define MAINWINDOW_H#...原创 2020-04-06 21:42:16 · 2196 阅读 · 0 评论 -
Qt创建菜单栏,工具栏,状态栏
QMainWindow允许在其上创建菜单栏,工具栏和状态栏,我们就在QMainWindow上来创建它们。直接上代码,代码中有详细的注释。//MainWindow.h文件#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QAction>class MainWindo...原创 2020-04-06 19:45:21 · 947 阅读 · 4 评论 -
QMainWindow和QAction
QMainWindow是Qt 框架带来的一个预定义好的主窗口类。一个主窗口一般都是由下图所示部分组成。我们在创建Qt应用程序的时候,就可以选择主窗口继承自QMainWindow。这样我们的就可以在MainWindow中添加窗口标题,菜单栏,工具栏,状态栏等上图所示的控件。在Qt中使用QAction来表示窗口的动作,就是窗口上发生的事件。QAction包含了图标、菜单文字、快捷...原创 2020-04-06 19:04:46 · 358 阅读 · 0 评论 -
Qt模块介绍
Qt5中,模块已经非常细化了,关于模块的详细信息可以在帮助文档中看到。Qt的帮助文档叫Qt助手。为了方便使用,我们一般都是把它固定在任务栏。Qt Core模块: 提供核心的非 GUI 功能,所有模块都需要这个模块。Qt Gui模块: 提供 GUI 程序的基本功能。Qt Network模块: 提...原创 2020-04-06 11:26:52 · 606 阅读 · 0 评论 -
Qt自定义信号槽
Qt的信号槽机制不仅可以使用系统提供的部分,也可以自定义信号槽。信号槽是Qt的核心机制,只要是继承了QObject类的子类或者间接子类都可以使用信号槽机制,无论是不是GUI程序。下面我们来实现一个自定义的信号槽,我们将有两个类,分别是Teacher和Student。老师讲课,学生听课。//Teacher.h#ifndef TEACHER_H#define TEACHER_H#in...原创 2020-04-06 01:21:21 · 341 阅读 · 0 评论 -
Qt初识信号槽
在Qt框架下,使用信号槽机制来完成事件处理。信号就是发生的事件,槽就是处理事件的函数。这两者不在一起,不像MFC的消息循环机制。它们是松散的耦合。要想将它们连接起来,那么必须使用connect函数来连接它们。例如,当我想实现,点击关闭按钮就会关闭当前窗口的操作。那么我就需要使用connect函数来连接“点击”这个信号函数和“关闭”这个槽函数。下面是我的代码:#ifndef MYPUS...原创 2020-04-05 23:33:11 · 219 阅读 · 0 评论 -
Qt显示Hello World
#include "widget.h"//对于 Qt 程序来说,GUI 程序是QApplication//非 GUI 程序是QCoreApplication。QApplication派生自QCoreApplication#include <QApplication>#include <QPushButton>int main(int argc, char ...原创 2020-04-05 19:04:17 · 774 阅读 · 0 评论 -
Qt工程文件介绍
QT += core gui #Qt的两大核心模块,Qt gui和Qt coregreaterThan(QT_MAJOR_VERSION, 4): QT += widgets #Qt4之后,widgets模块从gui模块分离了出来,所以需要加上CONFIG += c++11 #支持C++11标准# The fo...原创 2020-04-05 17:55:49 · 379 阅读 · 0 评论 -
创建第一个Qt程序
#include "widget.h"//对于 Qt 程序来说,GUI 程序是QApplication//非 GUI 程序是QCoreApplication。QApplication派生自QCoreApplication#include <QApplication>int main(int argc, char *argv[]){ QApplication...原创 2020-04-05 17:36:30 · 201 阅读 · 0 评论