QT的使用(初期笔记)

2023-11-06

signal 发送的信号

signals:
//自定义信号 返回值是void,只需声明,不需实现,可以有参数,可以重载

按钮

1.inherited(继承) from QAbstractButton:
(1) clicked(bool checked = false)
(2) pressed()
(3) released()
(4) toggled(bool checked)

slot 槽 信号的接收

1.QWidget :: public slot;
public slots:
//早期QT必须写在public slots下,高级版本可以写在public或全局下
、、返回值void 需声明和 实现。

connect

connect (信号的发送者,发送的信号(放入的是函数的地址)(继承自多个父类),信号接收者(窗口等),处理槽函数);
connect(button, &MyPushButton::clicked, this, &myWidget::close)

QT4 版本connect可在QT5中使用
connect(发送者,SIGNAL(函数),接收者,SLOT(槽函数));

Qwidget 空窗口

信号与槽函数的数据传递
传入信号的参数会与绑定的槽函数中类型及名称相同的数据自动绑定。
https://blog.csdn.net/Aoutlaw/article/details/78887502

信号&槽重载
用函数指针区别重载信号和重载槽函数

disconnect断开连接

菜单栏

创建菜单栏(#include <QmenuBar>)(只能有一个)

QMenuBar * bar = menuBar
setMenuBar(bar);//将菜单栏放入到窗口
QMenu * fileName = bar -> addMenu(“菜单的名称”);//会自动编排

创建菜单项

QAction * newAction = fileName -> addAction(“菜单项名称”);//会自动编排
fileName -> addSeparator();//添加分隔线

创建工具栏(#include <QToolBar>)(可拖拽)

QToolBar * toolBar = new QToolBar(this);
addToolBar(toolBar);
addToolBar(QT::L/R/T/B/ALL/NO,toolBar);//使用帮助获取QT相关常量。
toolBar->setAllowedAreas( QT::L~~ | QT::R~~);//设置浮动窗口停靠范围
toolBar->setFloatable( True/False ); //设置是否可停靠
toolBar->setMovable( T/F ); //设置是否可移动

创建状态栏(#include <QStatusBar>)(只能有一个)

statusBar * stBar = StatusBar();//创建
setStatusBar(stBar);//放入窗口中

标签控件(#include <QLabel>)

QLabel *label = new QLabel(“提示信息”,*parent );

stBar -> addWidget(label);//左侧提示
stBar -> addPermanentWidget(label);//右侧提示

创建浮动部件(#include <QDockWidget>)(可拖拽为新窗口)

QDockWidget *dockWidget = new QDockWidget(“标题”,*parent);
addDockWidget(QT::位置,部件(dockWidget));
dockWidet -> setAllowedAreas(位置);//设置部件可使用位置

创建中心部件( #include <QTextEdit>)(只能一个)

QTextEdit* edit = new QEdit(this);
setCentralWidget(edit);


补充:

explicit修饰的构造函数不能存在隐式类型转化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QT的使用(初期笔记) 的相关文章

  • Qt qDebug() 在 Windows shell 中不起作用

    我正在使用一个qDebug Qt 框架的printf屏幕上有东西 当我从 Qt Creator 运行应用程序时它工作得很好 但是当我尝试从 Windows 执行它时cmd它什么也没显示 为什么会发生这种情况 你必须添加 CONFIG con
  • QComboBox 下拉项边距

    我想设计我的风格QComboBox为下拉项目留出边距 现在是这样的 我想要这样的东西 我尝试过 QComboBox QAbstractItemView item margin 3px 但它不起作用 你能帮我解决这个问题吗 您想在项目之间设置
  • QMutex 是否需要是静态的,以便此类实例的其他线程调用知道暂停其操作?

    从多个线程调用以下附加函数 我不希望数据重写附加 因为计数器尚未增加 除了当前使用 Append 的线程之外 这是否会挂起所有进入的线程 或者其他线程会继续运行而不追加数据吗 互斥锁是否需要是 静态 的 或者每个实例都知道要暂停操作吗 如果
  • 如何声明一个带有成员函数指针的函数

    我有一个类 其中的成员变量指向库对象 class myClassA private libraryClass libraryObject 该库类发出事件 以字符串为特征 并提供一种机制 允许客户端类指定在发出事件时应调用的成员函数 因此在m
  • 如何去除QWizard中的水平线?

    我正在研究一个样式表QWizard我想删除按钮上方的水平线 我尝试递归浏览所有小部件并将其边框设置为无 但似乎没有任何小部件具有此边框 这是我的代码 可以找到完整的可构建示例here https gist github com ardeid
  • 在 Qt 中使用多个不同的流读取同一文件

    使用 Qt 是否可以使用多个流读取文件以同时访问其中的不同数据部分 请注意 Qt 中的流 QTextStream QDataStream 不处理底层设备中的位置 流类只是一个包装器 用于更轻松地解析设备 QFile 实例 内的二进制数据 因
  • 针对初学者的 QT 商业许可证与非商业许可证 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 QT 许可似乎非常反学习 因为据我所知 用它开发的任何东西都只能是商业的当且仅当 its entire开发是在使用商业许可证的情况下完成的
  • 为什么 QT 设计器重新调整大小或不允许我缩小或展开小部件或按钮?

    很多时候 在使用 QT 设计器时 我发现自己需要通过缩小或扩展来调整事物的大小 每当我尝试这样做时 程序都不允许我这样做 而只是恢复到将对象放置在窗口中时给我的原始默认大小 无论我的布局如何 为什么要这样做 是否有可能改变这一点 以便我可以
  • QAbstractItemModel 如何表示树?

    我仍然很难理解 QAbstractItemModel 对项目的表示 有两种返回 QModelIndex 项的方法对我来说没有任何意义 QModelIndex QAbstractItemModel index int row int colu
  • QObject 通用信号处理程序

    信号处理程序 是指插槽 而不是 POSIX 信号的处理程序 我需要 连接 可能不会 using QObject connect直接地 所有信号从 QObject 的 未知 子类的实例到一个单槽另一个 QObject 的 我需要这个才能通过网
  • QFileDialog::getOpenFileName 调试时崩溃,显然是由项目名称引起的?

    我遇到了一个让我非常困惑的问题 我在 Windows 7 上使用 Qt Creator 3 1 2 和 Qt 5 3 使用 MSVC 10 0 编译器和 Windows 8 1 调试工具中的 CDB 不确定我是否应该寻找特定于 Window
  • 使用 QGraphicsScene 和 QGraphicsView 在 Qt 中开始基于 Tile 的游戏

    我将开始在 Qt 中编写基于 2D 图块的游戏 并阅读 QGraphicsScene 和 QGraphicsView 类 这些类旨在显示和处理大量 2D 对象 我的问题是 使用 QGraphicsScene 创建一个包含大量图块的世界是否可
  • CMake AUTOMOC,文件位于不同文件夹中

    我有一个简单的 CMake 项目 proj project folder a h a cpp CMakeLists txt CMakeLists txt cmake minimum required VERSION 3 2 set CMAK
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • 使用 QWT 构建时出错

    我收到一个错误 undefined reference to QwtPlot QwtPlot QWidget 当我尝试构建我的项目时 即使设置中一切看起来都很好 在我的 CmakeLists txt 中我有 include director
  • 一个具有完全透明背景的qt小部件

    我需要创建一个 qt 小部件 它将充当其他一些小部件的父级 并对它们进行排序 现在的问题是如何使其背景完全透明 我想这样做 struct Imp Imp QWidget parent thisWidget new QWidget paren
  • PyQt5 使动态小部件可点击并将参数传递给另一个函数

    我正在尝试制作动态小部件并使它们可点击 通过单击一个小部件 它应该将动态值传递给其他小部件 我尝试过 sender 和其他访问小部件的选项 但没有任何效果 所有小部件都从最后一个小部件发送信息 下面是代码 import sys from P
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • Qt - ubuntu中的串口名称

    我在 Ubuntu 上查找串行端口名称时遇到问题 如您所知 为了在 Windows 上读取串口 我们可以使用以下代码 serial gt setPortName com3 但是当我在 Ubuntu 上编译这段代码时 我无法使用这段代码 se
  • 如何在不声明 32 个插槽的情况下将 32 个按钮的 pressed() 信号连接到单个函数?

    我有一个小部件 里面有 32 个按钮 我需要将每个按钮的 Pressed 信号连接到一个插槽 以便调用一个函数 该函数的参数取决于我按下的按钮 现在我通过以 on QPushButtonName pressed 的形式添加 32 个插槽来做

随机推荐