QT使用笔记

本文详细介绍了如何在Qt中使用QObject::sender()获取槽函数中的信号发送者,探讨了自定义结构体的使用及其报错解决方案,并涵盖了多继承、类型转换、控件事件处理、QScrollArea隐藏滚动条、窗口大小调整等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

qt在槽里面获取发送信号对象

QObject::sender()

qt使用结构体

typedef struct aaa
{
// ...
}_aaa;
Q_DECLARE_METATYPE(aaa)

Qt中自定义结构体的使用

【Qt】报错error: undefined reference to `vtable for的解决方法

qt中使用多继承

1、使用多继承QObject必须要放在前面,否则会报错;
2、类型转换成父类型时需用dynamic_cast<>来强转,否则执行不到后面父类的方法;

dynamic_cast


获取对象的类型

// 获取对象是否是QLineEdit
QWidget* w = focusWidget();
w->inherits("QLineEdit")

控件忽略事件

// 继承默认控件
class MyRadioButton : public QRadioButton {
public:
    MyRadioButton(QWidget* parent=0);
protected:
    // 重写event方法来忽略按键事件
    bool event(QEvent *e);
};

bool MyRadioButton::event(QEvent *e) {
    //printf("接受到了一个事件,类型 %d\n", e->type());
    if (QEvent::KeyPress==e->type() || QEvent::KeyRelease==e->type())
    // should return true if the event e was recognized and processed
    // 返回false事件会交给父控件处理
        return true;	// 返回true事件即到此为止,不会交给父控件处理
    return QRadioButton::event(e);	// 其他事件必须调父类event,否则其他事件也被挡住了
}

QScrollArea隐藏滚动条的方法

方法一:

enum ScrollBarPolicy {
        ScrollBarAsNeeded,  //需要的时候显示
        ScrollBarAlwaysOff,//总是关闭
        ScrollBarAlwaysOn//总是打开
};

QScrollArea *scroll=new QScrollArea;
// 开始处理隐藏滑条,以下是对水平滑条处理
scroll->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
scroll->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

// 移动滚动条位置
scroll->verticalScrollBar()->setValue(index);

窗口大小修改

修改窗口大小几种方式

Windows平台qt输出安装包

qt发布
Qt打包成setup.exe安装包
Inno Steup官网
Inno Steup下载页

关于 Qt 的最新版本及其使用方法和注意事项,以下是详细的说明: ### 关于 Qt 最新版本 Qt 是一个跨平台的应用程序框架,广泛用于开发图形用户界面 (GUI) 应用程序和其他软件。最新的稳定版本通常可以通过其官方网站或官方文档获取。 #### 安装指南 安装 Qt 可以通过多种方式完成,具体取决于操作系统的选择: - **Windows**: 使用在线安装器下载并安装所需模块。 - **Linux**: 除了使用包管理工具外,还可以从源码编译安装。 - **macOS**: 下载适用于 macOS 的安装包或者使用 Homebrew 进行安装。 对于 Linux 用户来说,如果需要录制屏幕以便记录开发过程中的操作,则可以考虑 SimpleScreenRecorder 工具[^2]。 #### 配置环境变量 为了能够在命令行中直接调用 `qmake` 或其他相关工具,在安装完成后需配置 PATH 环境变量指向 Qt 的 bin 文件夹路径。 #### 创建项目 创建一个新的 Qt 项目一般遵循以下流程: 1. 初始化工程文件 `.pro`; 2. 编写 C++ 源代码以及 UI 文件(可选); 3. 利用 qmake 生成 Makefile 并构建应用。 示例代码展示如何设置基本窗口应用程序: ```cpp #include <QApplication> #include <QWidget> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget window; window.resize(250, 150); window.setWindowTitle("Simple example"); window.show(); return app.exec(); } ``` #### 更新支持设备驱动 当涉及到虚拟现实(VR)领域时,确保所使用的硬件兼容性非常重要。例如 Gear VR 支持已更新至特定版本 SDK 中[^1]。 #### 注意事项 - 开发前确认目标平台上是否有足够的权限执行某些功能。 - 如果计划发布到多个平台,请测试不同环境下行为一致性。 - 对第三方库保持警惕,始终验证它们的安全性和稳定性后再集成进自己的项目里。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值