首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    QT Creator 快速入门教程 读书笔记(二)

    一 窗口部件 基础窗口部件QWidget类是所有用户界面对象的基类,窗口和控件都是直接或间接继承自 QWidget,下面我们来看一个很简单的例子: 窗口部件(Widget)简称部件,是QT中建立界面的主要元素...,QT中把没有嵌入到其他部件部件成为窗口,一般的窗口都有边框,标题栏,窗口是指程序的整体界面,可以包含标题栏、菜单栏、工具栏、关闭按钮、最小化按钮、最大化按钮等;控件是指按钮、复选框、文本框、表格、进度条等这些组成程序的基本元素...*widget=new QWidget(); //新建QWidget类对象,默认parent是0,所以它是个窗口。...QDialog 没有菜单栏、工具栏、状态栏等,如下所示: 如果是主窗口,就使用 QMainWindow;如果是对话框,就是用 QDialog;如果不确定,或有可能作为顶级窗口,也有可能嵌入到其他窗口中...return app.exec(); } 运行代码,会在距离显示器 x=100, y=50 的位置弹出两个窗口,如下图所示: 可以发现,窗口和控件没有绝对的区别,控件也可以成为窗口,这取决于它有没有父对象

    1.3K70

    Qt QML VideoOutput 显示自定义的 YUV420P 数据流

    在一些传统应用中,如果想使用 Qt 在 QWidget 或者 QML 中显示自定义的视频数据流,需要引入 OpenGL 来实现。...Context 提供 QML 使用 Stackoverflow 的方法是将 FrameProvider 注册成一个 QML 可以使用的类型,这种方法也可以,但是你可以看到在 main 函数中需要去从...我们换一种方式就是先 new 对象然后绑定信号和槽函数,最后再把对象注入到全局上下文中,让 QML 在任意位置都可以访问这个对象。...newFrameAvailable(const QVideoFrame &)), provider, SLOT(onNewVideoContentReceived(const QVideoFrame &))); QQmlApplicationEngine...这里如果考虑性能问题,可以将 QVideoFrame 使用智能指针传递,这样可以减少数据的拷贝过程。

    5.3K30

    QtQuick 系列教程之 QML 与 C++ 交互

    将分 4 大部分讲解: C++ 对象注册到 QML,QML 访问 C++ 对象; QML 暴露对象给 C++ 进行交互; C++ 创建 QML 对象并进行交互; C++ 对象与 QML 通过信号槽交互。...目录: 方式1:C++ 对象注册到元对象系统 QQmlApplicationEngine::rootContext()->setContextProperty() 方式2:C++ 对象注册到Qml系统...这里有偷懒的办法,头文件里写好函数后,直接调用重构的功能,自动生成函数的实现结构。 ? 是不是很方便,然后在头文件里添加一个整型成员变量。 ? 然后我们直接在函数中添加我们的实现代码: ?...C++ 类的代码就写的差不多了,接下来我们需要将这个 C++ 类注册到 Qml 中。 打开 main.cpp: ? 在 Qml 引擎实例的下面,添加代码: ?...我们将 QmlCpp 的头文件引用进来,然后定义一个 QmlCpp 类的实例,调用设置整型的函数,并将这个 C++ 实例注册到 Qml 引擎上下文中标示为 “QmlCpp” 的名字, 这样 Qml 中就可以通过

    4.5K30

    嵌入式Qt-实现两个窗口的切换

    2 移植时钟与秒表程序 2.1 时钟程序移植 将之前这篇中的程序作为一个独立的窗口移植到本篇的程序中:嵌入式Qt-动手编写并运行自己的第1个ARM-Qt程序 移植步骤: Qt Creator中,堆栈窗口基础工程的基础上...,点文件菜单,再点新建文件或项目,新建一个C++类,名字可取clockwidget 将Qt时钟的程序复制过来,代码基本不需要修改,只需要把类名换成ClockWidget即可 例如其构造函数如下: ClockWidget...1000); setWindowTitle(tr("Clock")); setMinimumSize(200, 200); //设置最小尺寸 } 2.2 秒表程序移植 将之前这篇中的程序作为一个独立的窗口移植到本篇的程序中...移植步骤: Qt Creator中,堆栈窗口基础工程的基础上,点文件菜单,再点新建文件或项目,新建一个C++类,名字可取TimerWidget 将ui文件也拷贝过来,在工程中,通过添加现有文件的方式,将...3 测试 将代码在Windows上编译运行ok后,再将源码复制到Ububtu中进行交叉编译,具体的编译过程可参考之前的文章:嵌入式Qt-动手编写并运行自己的第1个ARM-Qt程序 然后将编译后的程序复制到

    1.7K20

    【C++】Qt:QWidget介绍与注册登陆界面示例

    QWidget介绍 QWidget 是 Qt 框架中的一个基类,用于创建用户界面的可视化组件。它是所有用户界面组件的基础,包括窗口、对话框、按钮、文本框等。...5.窗口管理:QWidget 可以作为顶级窗口(Top-level Window)使用,显示为独立的窗口或对话框。它也可以作为子部件嵌入到其他窗口或容器中。...QCheckBox(复选框):用于提供一个可选中或取消选中状态的复选框控件。 QRadioButton(单选按钮):用于提供一组互斥的选项中的单选按钮控件。...ui->btn_login->setEnabled(true); ui->btn_login->setText("可以登录"); // setText() // 还可以将账号密码存储在数据库中...; } } 基本界面如下,大家还可自己定义资源文件,以及将账号密码放在数据库或其他地方管理等。

    65111

    Qt编写自定义控件61-通用移动

    一、前言 通用移动类,目标就是为了实现放入任意的控件以后,支持鼠标拖动,在容器中或者父类中拖动,这个应用场景非常多,比如在地图上放置的设备,需要用户自行按下拖动到指定的合适的位置,然后保存设备的位置坐标到数据库...,下次打开直接加载,在一些安防项目、电力项目、环境监测等上面大量运用,有时候设备对应了多种类型,以前做的办法是将这个移动的代码直接封装在对应设备的自定义控件中,有个巨大缺点就是如果再新增加一个控件,又需要重复的代码加到控件中才行...,可否将这个功能独立出来,只要传入控件就行呢,当然可以,比如我写过很多自定义控件,现在需要控件放到某个容器中能自由拖动,只需要new出通用移动类来就行。...全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.13的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式...linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。

    1.1K30

    8.QT-对话框(模态与非模态)

    对话框介绍 对话框是于用户进行简易交互的顶层窗口 QDialog是Qt中所有对话框窗口的父类,是一种容器类型的组件 QDialog继承于QWidget类,如下图所示: QWidget和QDialog有什么不同...QDialog: QDialog是定制了窗口式样的特殊的QWidget QDialog只能作为专用的交互窗口 QDialog不能作为子部件,嵌入其它容器中 QWidget: QWidget如果没有父组件...,则将会成为一个主窗口, QWidget如果有父组件,则将成为其父组件的子部件,嵌入到其父组件里 代码试验: QWidget和QDialog区别 代码1: int main(int argc, char...*argv[]) { QApplication a(argc, argv); QWidget w; w.resize(300,300); QDialog d(&w)...a.exec(); } 对话框返回值处理 只有模态对话框才有返回值概念 QDialog::exec()的返回值作为交互结果  -使用void QDialog::done ( int r ) 作为交互结果,将r

    2K40

    Qt面试题(二)

    是面向嵌入式系统的 Qt 版本 b. 是 Qt 的嵌入式窗口 c. 基于 Windows 平台的开发工具 d. 是完整的自包含 C++ GUI 的开发工具 4内部对字符集的处理采用以下哪个标准 a....信号/槽机制在 QObject 类中实现 c. 从 QWidget 类继承的所有类可以包含信号和槽 d....调用 addLayout ( )把这个布局插入到其他布局中 c. 没有办法 d. a 和 b 38以下关于集合类描述不正确的是 a. 它是装有多个条目的容器 b. 每个条目是某种数据结构 c....QGList 43当插入一个条目到一个集合时如下不正确的是 a. 仅拷贝指针而不拷贝条目本身的称“浅拷贝” b. 不允许只拷贝指针而不拷贝条目本身 c. 拷贝所有条目的数组到集合中是可能的 d....点击>按钮可以将左边选中的条目添加到右边.点击将右边 选中的条目添加到左边。点击>>按钮可以将左边的所有条目添加到右边。 提示列表框控件的类是 QListWidget。

    2.2K20

    CC++ Qt TableDelegate 自定义代理组件

    代理类的作用是用来实现重写的,例如我们的TableView中默认是可编辑的,这个可编辑的组件是QT默认为我们重写了QLineEdit组件,也可理解为将组件嵌入到了表格中,实现了对表格的编辑功能。...*editor,const QModelIndex &index) const { //从数据模型获取数据,显示到代理组件中 //获取数据模型的模型索引指向的单元的数据 int value =...*editor, QAbstractItemModel *model, const QModelIndex &index) const { //将代理组件的数据,保存到数据模型中 QSpinBox...QStyleOptionViewItem &option, const QModelIndex &index) const { editor->setGeometry(option.rect); } 将部件导入到...mainwindow.cpp中,并将其通过ui->tableView->setItemDelegateForColumn(0,&intSpinDelegate);关联部件到指定的table下标索引上面。

    61420

    CC++ Qt TableDelegate 自定义代理组件

    代理类的作用是用来实现重写的,例如我们的TableView中默认是可编辑的,这个可编辑的组件是QT默认为我们重写了QLineEdit组件,也可理解为将组件嵌入到了表格中,实现了对表格的编辑功能。...*editor,const QModelIndex &index) const{//从数据模型获取数据,显示到代理组件中//获取数据模型的模型索引指向的单元的数据 int value = index.model...*editor, QAbstractItemModel *model, const QModelIndex &index) const{//将代理组件的数据,保存到数据模型中 QSpinBox...QStyleOptionViewItem &option, const QModelIndex &index) const{ editor->setGeometry(option.rect);}将部件导入到...mainwindow.cpp中,并将其通过ui->tableView->setItemDelegateForColumn(0,&intSpinDelegate);关联部件到指定的table下标索引上面。

    83620
    领券