QT
qq_857305819
这个作者很懒,什么都没留下…
展开
-
Qt-项目打包
1:把debug设置为release2:构建项目3:找到生成的release版本的exe文件.复制到一个单独文件夹4:查看QT安装目录下是否有windeployqt.exe5:运行CMD 跳转到该目录: (在exe目录里直接输入cmd或者按住shitf +右键 选择 在此处运行命令窗口 ) 运行命令 windeployqt +可执行程序名字 如果显示windeployqt 不是内部或者外部的命令直接把windeployqt.exe复制到需要打包的exe目录里...原创 2020-09-27 11:11:27 · 177 阅读 · 0 评论 -
QT-绘制程序背景图片
需要重写QMainWindow的paintEvent事件void MainScene::paintEvent(QPaintEvent *event){ //创建画家,指定绘图设备为本窗口 QPainter painter(this); //创建QPixmap对象 QPixmap pixmap; //加载图片 pixmap.load(":/PlayLevelSceneBg.png"); //绘制背景图 painter.drawPixma原创 2020-09-26 04:33:19 · 366 阅读 · 0 评论 -
Qt-文件操作
打开并读取文件#include "widget.h"#include "ui_widget.h"#include "QFileDialog"#include "QFile"#include "QDebug"#include "QTextCodec"Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); QString FileP原创 2020-09-25 18:35:04 · 218 阅读 · 0 评论 -
QT-绘图
绘图事件//绘图事件void Widget::paintEvent(QPaintEvent *event){ //实例化画家对象 this指定的是绘图设备 QPainter painter(this); //设置画笔 QPen pen(Qt::cyan); //设置画笔宽度 pen.setWidth(2); //设置画笔风格 pen.setStyle(Qt::DashLine); //关联画笔 painter.s原创 2020-09-25 15:59:25 · 155 阅读 · 0 评论 -
QT-event事件分发器
QT中的事件不是直接由应用程序发送到事件处理程序的,而是在中间有一个事件分发器.可以在事件分发器中拦截到事件,然后返回true.这样事件就不会再往下发了.#include "mylabel.h"#include "qdebug.h"#include "QString"#include "QMouseEvent"MyLabel::MyLabel(QWidget *parent) : QLabel(parent){ //setMouseTracking(true);}void My.原创 2020-09-25 13:41:14 · 449 阅读 · 0 评论 -
qt-定时器
定时器事件#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); //启动定时器 TimerId=startTimer(1000); connect(ui->BtnCloseTimer,&QPushButton::clicked,原创 2020-09-25 13:13:16 · 233 阅读 · 0 评论 -
Qt中的鼠标事件
目标:使label控件支持鼠标的进入和离开事件的捕捉在工程中添加c++类文件 MyLabel#ifndef MYLABEL_H#define MYLABEL_H#include "QLabel"class MyLabel : public QLabel{ Q_OBJECTpublic: explicit MyLabel(QWidget *parent = nullptr); void enterEvent(QEvent *ev); //重载的鼠标进入事件 v原创 2020-09-09 12:55:23 · 3377 阅读 · 0 评论 -
Qt自定义组件
工程名->添加新文件->Qt->Qt 设计师界面类->widget 然后添加类名SmallWidget把spin box 和horizontal slider 拖进UI界面.窗口选择水平布局接下来在主窗口UI中 选择Wdiget组件(和自定义组件的父组件类型一样) ,调整好大小 右键->提升为SmallWidget(自定义组件的类名) 全局包含可以勾选上方便下次提升就可以看见主创口中加入的自定义组建了.在主窗口中添加一个按钮,点击输出Spinbox的值1:在原创 2020-09-09 10:40:17 · 560 阅读 · 0 评论 -
Qt- label 显示图片
先添加资源文件 ui->label->setPixmap(QPixmap(":./1.png"));原创 2020-09-08 22:01:16 · 170 阅读 · 0 评论 -
Qt- table widget
#include "widget.h"#include "ui_widget.h"#include "QDebug"#include "QListWidgetItem"Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); //Table Widget控件 //设置列数 ui->tableWidget->se原创 2020-09-08 19:38:44 · 115 阅读 · 0 评论 -
Qt tree Widget
#include "widget.h"#include "ui_widget.h"#include "QDebug"#include "QListWidgetItem"Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); //treeWidget树控件使用 //设置水平头 ui->treeWidget->s原创 2020-09-08 17:22:41 · 178 阅读 · 0 评论 -
Qt-List Widget组件
#include "widget.h"#include "ui_widget.h"#include "QDebug"#include "QListWidgetItem"Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this);// QListWidgetItem * item=new QListWidgetItem("今天天气正好");//原创 2020-09-08 16:33:16 · 213 阅读 · 0 评论 -
Qt-复选框
把篮球命名为cBtnBus,选中篮球可以看到状态的改变 .设置了QCheckBox->tristate 会有一个半选中状态#include "widget.h"#include "ui_widget.h"#include "QDebug"Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); connect(ui->cBt.原创 2020-09-08 16:01:25 · 468 阅读 · 0 评论 -
qt-窗口布局入门
把widget拖进窗口 然后把需要布局的组件拖进去选中wdiget 右边的widget会高亮显示点击上面的水平布局,这两个需要水平布局的组件就布局好了.把登录和退出按钮也使用widget水平布局后,整个窗体使用垂直布局.登录和退出按钮被拉伸的特别大,可以使用水平的弹簧压缩按钮大小.添加一个弹簧使登录和退出按钮之间的距离固定,把弹簧的sizeType属性改为fixed修改widget之间的垂直间隔 sizepolicy ->垂直策略改为 fixed...原创 2020-09-08 15:08:59 · 218 阅读 · 0 评论 -
Qt-模态和非模态对话框
菜单栏新建一个选项 new -> actionnew(编译器给的名字)代码 完成 点击新建弹出对话框#include "mainwindow.h"#include "ui_mainwindow.h"#include "QDebug.h"#include "QDialog"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->s原创 2020-09-08 13:48:45 · 210 阅读 · 0 评论 -
Qt-添加资源文件
在项目右键-》添加新文件-》Qt-》Qt Resource File->给资源命名点击资源文件,右键选择 Open In Editor添加前缀,随便起名字,也可以只是用一个/接下来选择要添加的资源文件 注意:资源文件一定要和项目文件在同一个目录下 资源就添加成功了。设置图标代码资源添加完成后,就可以调用ui->控件名->setIconsetIcon的参数格式: : + 前缀+文件名MainWindow::MainWindow(QWidget *parent) :原创 2020-09-07 21:26:24 · 89 阅读 · 0 评论 -
Qt - QMainWindow
QMainWindow菜单栏和工具栏QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar).多个工具栏(tool bars).多个锚接部件(dock widgets).一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。创建项目时选择MainWindow基类,去掉生成ui选项#include "mainwindow.h"#include "QMenuBar"#include "Q原创 2020-09-07 21:02:25 · 304 阅读 · 0 评论 -
QT小练习-点击按钮显示一个窗口
bool bOpen=false; //可以把这个标志定义到类头文件中myWidget::myWidget(QWidget *parent) : QWidget(parent){ QPushButton *btn1=new QPushButton("打开窗口",this); this->resize(600,400); btn1->move(200,150); QWidget* w1=new QWidget; w1->resize(原创 2020-09-07 15:10:10 · 677 阅读 · 0 评论 -
Qt信号和槽
#include "mywidget.h"#include "qpushbutton.h"myWidget::myWidget(QWidget *parent) : QWidget(parent){ //按钮第一种形式 QPushButton *btn=new QPushButton(); btn->setParent(this); //show方法显示的是顶层窗口 btn的show方法会把btn单独显示在窗口外面 btn->setText(.原创 2020-09-07 15:08:46 · 97 阅读 · 0 评论 -
qt中的对象树
在new一个按钮时,btn->setParent(this);把btn设置到对象树中。在QObject释放时,它会释放掉对象树中所有的资源。所以即使申请的时堆上的资源,也无需我们自己手动释放。原创 2020-09-06 14:12:48 · 497 阅读 · 1 评论 -
第一个QT程序
创建QT工程注意事项点击创建项目后,选择项目路径以及给项目起名字名称和路径均不能有中文名称不能有空格QT有三种基类选择 QWidget (父类) QMainWindow QDialog#include "mywidget.h"#include <QApplication> //包含一个应用程序类的头文件int main(int argc, char *argv[]){ //a 应用程序对象,在qt中,应用程序对象 有且仅有一个 QApplication a(ar原创 2020-09-06 12:25:43 · 131 阅读 · 0 评论