QT基础 - 常用按钮控件和快捷键

目录

一. QtCreator常用快捷键

二. QWidget

三. QPushButton

四. QRadioButton

五. QCheckBox

六. QToolButton

七. 总结


一. QtCreator常用快捷键

说明快捷键
运行ctrl +R
编译ctrl +B
帮助文档F1 ,点击F1两次跳到帮助界面
跳到符号定义F2 或者ctrl + 鼠标点击
注释ctrl+/
字体缩放ctrl + 鼠标滚轮
整行移动代码ctrl + shift + ↑或↓
自动对齐ctrl + i
同名之间的.h和.cpp文件跳转F4

二. QWidget

QWidget在 Qt 中是所有用户界面对象的基类。

它具有以下重要特性:

  • 作为界面组件的基础,可包含其他子控件。
  • 提供了基本的界面属性,如位置、大小、可见性等。
  • 可以接收和处理各种事件。

一些关于 QWidget 的关键要点包括:

  • 可以通过继承 QWidget 来创建自定义的界面控件。
  • 它可以灵活地布局和管理子控件。

以下是 QWidget 的一些常用属性和方法:

常用属性:

  • geometry():获取或设置部件的位置和大小。
  • size():获取部件的大小。
  • pos():获取部件的位置。
  • isVisible():检查部件是否可见。

常用方法:

  • setGeometry(int x, int y, int width, int height):设置部件的几何形状。
  • setSize(int width, int height):设置部件的大小。
  • setMinimumSize(int width, int height):设置最小尺寸。
  • setMaximumSize(int width, int height):设置最大尺寸。
  • show():显示部件。
  • hide():隐藏部件。
  • setWindowTitle(QString title):设置窗口标题。
  • setStyleSheet(QString styleSheet):设置样式表。
  • move(int x, int y):移动部件到指定位置。
  • resize(int width, int height):改变部件大小。
  • update():触发部件的重绘。

下面是一个简单的示例,展示了创建一个基本的 QWidget

#include <QApplication>
#include <QWidget>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    QWidget widget;
    widget.show();

    return a.exec();
}

三. QPushButton

在 Qt 中,QPushButton(按钮类)是一个常用的界面元素。

它具有以下一些主要特点和用法:

  • 可以显示文本或图标,用于触发特定的操作或事件。
  • 可以设置样式,如背景颜色、字体等,以满足界面设计需求。
  • 通过信号与槽机制,可以方便地与其他组件进行交互。

以下是 QPushButton 的一些常用属性和方法:

常用属性:

  • text:按钮上显示的文本。
  • icon:按钮上显示的图标。

常用方法:

  • setText(QString text):设置按钮文本。
  • setIcon(QIcon icon):设置按钮图标。
  • setEnabled(bool enabled):设置按钮是否可用。
  • isEnabled():检查按钮是否可用。
  • click():模拟点击按钮。
  • setFlat(bool flat):设置按钮是否为扁平样式。
  • setDefault(bool default):设置为默认按钮。
  • setToolTip(QString tip):设置工具提示。

以下是一个简单的示例代码,展示了如何创建一个带有文本的QPushButton并连接信号与槽:

#include <QApplication>
#include <QPushButton>

void buttonClicked() {
    // 在这里处理按钮点击后的操作
    qDebug("按钮被点击了!");
}

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    QPushButton button("点击我");
    button.show();

    // 连接信号与槽
    QObject::connect(&button, &QPushButton::clicked, buttonClicked);

    return a.exec();
}

效果:

四. QRadioButton

QRadioButton 是 Qt库中的一个类,用于创建单选按钮。单选按钮是一种可以在多个选项中选择一个的控件,通常用于表示“多选一”的选择。

以下是 QRadioButton 的一些常用属性和方法:

常用属性:

  • text:按钮的文本标签。
  • checked:按钮的选中状态。
  • icon:按钮的图标。

常用方法:

  • setChecked(bool):设置按钮的选中状态。
  • toggle():切换按钮的选中状态。
  • isChecked():返回按钮的选中状态。
  • setText(QString):设置按钮的文本标签。
  • setIcon(QIcon):设置按钮的图标。

在使用 QRadioButton 时,通常需要将多个单选按钮放在一个组中,以实现“多选一”的效果。可以使用 QButtonGroup 类来管理一组单选按钮。

代码示例:

#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QRadioButton>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    QWidget window;
    QVBoxLayout *layout = new QVBoxLayout(&window);

    QRadioButton *radioButton1 = new QRadioButton("选项 1");
    QRadioButton *radioButton2 = new QRadioButton("选项 2");

    layout->addWidget(radioButton1);
    layout->addWidget(radioButton2);

    window.setLayout(layout);
    window.show();

    return a.exec();
}

效果图:

五. QCheckBox

复选框,可以选择多个;

常用属性:

  • text:显示的文本。
  • checked:是否被选中。

常用方法:

  • setText(QString):设置文本。
  • setChecked(bool):设置选中状态。
  • isChecked():获取是否选中状态。

获取选择结果:当复选框状态改变时,连接信号槽,判断isChecked状态,来判断是否选中.

以下是一个示例代码:

#include <QApplication>
#include <QWidget>
#include <QCheckBox>
#include <QVBoxLayout>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);

    QWidget window;
    QVBoxLayout *layout = new QVBoxLayout(&window);

    QCheckBox *checkBox1 = new QCheckBox("复选框 1");
    QCheckBox *checkBox2 = new QCheckBox("复选框 2");

    layout->addWidget(checkBox1);
    layout->addWidget(checkBox2);

    window.setLayout(layout);
    window.show();

    return a.exec();
}

效果图:

六. QToolButton

QToolButton类提供了一个快速访问命令或选项的按钮,通常在QToolBar内部使用。工具按钮是一种特殊的按钮,用于快速访问特定的命令或选项。与普通的命令按钮相反,工具按钮通常不显示文本标签,而是显示一个图标。

QToolButton的一些常用函数包括:

  • setIcon():设置工具按钮的图标。
  • setText():设置工具按钮的文本。
  • setAutoRaise():设置是否在鼠标指向按钮时自动凸起。
  • setPopupMode():设置工具按钮的弹出菜单模式。

QToolButton的一些信号包括:

  • clicked():点击工具按钮时触发的信号。
  • triggered():当有菜单项被触发时,发送该信号。

你可以根据具体需求,使用这些函数和属性对QToolButton进行定制和扩展。

以下是一个使用QToolButton的示例代码:

#include<QApplication>
#include<QMainWindow>
#include<QToolButton>
#include<QMessageBox>
#include<QToolBar>

int main(int argc, char*argv[])
{
    QApplication app(argc, argv);
    QMainWindow window;
    window.setWindowTitle("toolBtn");

    // 创建一个工具按钮
    QToolButton *toolButton = new QToolButton(&window);
    toolButton->setText("Click me");

    // 连接按钮的 clicked 信号和槽函数
    QObject::connect(toolButton, &QToolButton::clicked, [&]() {
        QMessageBox::information(&window, "Clicked", "Button has been clicked!");
    });

    // 将工具按钮添加到主窗口的工具栏
    QToolBar *pBar = window.addToolBar("bar");
     pBar->addWidget(toolButton);

    window.show();
    return app.exec();
}

效果图:

七. 总结

在 Qt 中,常见的按钮类型包括普通按钮(QPushButton)、单选按钮(QRadioButton)、复选框(QCheckBox)和工具按钮(QToolButton):

普通按钮(QPushButton

  • 用于触发特定的操作或事件。
  • 可以设置文本、图标等显示内容。

单选按钮(QRadioButton

  • 一组中只能选中一个,用于表示互斥的选项。
  • 通常需要将多个单选按钮放在一个按钮组中以实现单选功能。

复选框(QCheckBox

  • 可以选中或不选中,支持多选状态。
  • 用于表示多个独立的可选项。

工具按钮(QToolButton

  • 常用于工具条中,可显示图标。
  • 具有不同的弹出菜单模式等特性。

这些按钮类型为用户界面设计提供了丰富的交互元素,可根据具体需求灵活使用,以实现各种功能和用户操作场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/715800.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

youlai-boot项目的学习—本地数据库安装与配置

数据库脚本 在项目代码的路径下&#xff0c;有两个版本的mysql数据库脚本&#xff0c;使用对应的脚本就安装对应的数据库版本&#xff0c;本文件选择了5 数据库安装 这里在iterm2下使用homebrew安装mysql5 brew install mysql5.7注&#xff1a;记得配置端终下的科学上网&a…

Mysql学习笔记-进阶篇

一、存储引擎 1、MYSQL体系结构 连接层、服务层、引擎层、存储层&#xff1b; 2、存储引擎简介 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的&#xff0c;而不是库的&#xff0c;所以存储引擎也可被称为表类型。 1&#xff09;在创…

智能网络组网天联是什么?

智能网络组网是指利用智能技术实现网络设备之间的连接和数据交流。随着科技的不断发展&#xff0c;智能网络组网在现代社会中发挥着越来越重要的作用。其中&#xff0c;天联是一种智能网络组网技术&#xff0c;具有许多优势。 天联组网的优势 天联组网技术拥有以下优势&#…

2024数据库期末综合解析(部分题)

目录 第4关&#xff1a;数据记录修改 任务描述 补充 答案&#xff1a; 第6关&#xff1a;数据查询二 任务描述 补充 答案&#xff1a; 第4关&#xff1a;数据记录修改 任务描述 湖南人口hnpeople数据表如下所示 各字段含义如下 cs&#xff08;城市)、qx(区县)、rk(人口)、man(男…

2024 年最新 windows 操作系统部署安装 redis 数据库详细教程(更新中)

Redis 数据库概述 Redis 是一个开源的&#xff0c;内存中的数据结构存储系统&#xff0c;它可以用作数据库、缓存和消息中介。Redis&#xff08;Remote Dictionary Server &#xff09;&#xff0c;即远程字典服务&#xff0c;是一个开源的使用ANSI C语言编写、支持网络、可基…

JS 实现Date日期格式的本地化

为了更好的更新多语言日期的显示&#xff0c;所以希望实现日期的本地化格式显示要求&#xff0c;常规的特殊字符型格式化无法满足显示要求&#xff0c;这里整理了几种我思考实现的本地化实现功能。 通过多方查找&#xff0c;总结了实现的思路主要有如下三个方向&#xff1a; 官…

基于Django + Web + MySQL的智慧校园系统

基于Django Web MySQL的智慧校园系统 由于时间紧迫&#xff0c;好多功能没实现&#xff0c;只是个半吊子的后台管理系统&#xff0c;亮点是项目安全性还算完整&#xff0c;权限保护加密功能检索功能有实现&#xff0c;可参考修改 功能如下&#xff08;服务为超链接&#xff0…

SSM整合使用

文章目录 1. 项目创建2. spring(1) 导包(2) 配置类 3. mybatis(1) maven导包(2) mybatis配置文件(3) 连接配置文件(4) mapper映射文件(5) 在spring配置类中注册sqlsession的bean springMVC(1) maven导包(2) springMVC配置类(3) 初始化类 5. 测试(1) 创建3层架构(2) 编写Control…

C语言标准库

目录 引言 一、C标准库概述 常用标准库函数 字符串处理 数学运算 动态内存分配 标准库的扩展与限制 扩展功能 使用限制 使用自定义库与第三方库 创建自定义库 使用第三方库 表格总结 标准库头文件及功能 常用标准库函数 总结 引言 C标准库是C编程语言的重要组成…

dp练习题

先来一个简单dp练习 class Solution { public:int rob(vector<int>& nums) {int n nums.size();vector<int> a(n 1);int ans nums[0]; a[0] nums[0];if (n 1) return ans;a[1] max(nums[0], nums[1]);ans max(ans, a[1]);if (n 2) return ans;for (i…

机器学习中的监督学习介绍

In this post well go into the concept of supervised learning, the requirements for machines to learn, and the process of learning and enhancing prediction accuracy. 在这篇文章中&#xff0c;我们将深入探讨监督学习的概念、机器学习的要求以及学习和提高预测准确…

汽车数据应用构想(四)

车只要在路上跑&#xff0c;就可以感知到道路上的各种情况对于车辆的影响。这些数据都具有一定的特征&#xff0c;通过对数据特征的分析&#xff0c;并结合位置信息&#xff0c;即可得到有价值的POI信源。 近几年的新车&#xff0c;基本上都有智能网联功能&#xff0c;也就是说…

【学习笔记】C++每日一记[20240612]

给定两个有序的数组&#xff0c;计算两者的交集 给定两个有序整型数组&#xff0c;数组中 的元素是递增的&#xff0c;且各数组中没有重复元素。 第一时间解法&#xff1a;通过一个循环扫描array_1中的每一个元素&#xff0c;然后利用该元素去比较array_2中的每一个元素&…

计算机网络知识点(四)

目录 一、简述TCP可靠性保证 1、检验和 2、序列号/确认应答 3、超时重传 4、最大消息长度 5、滑动窗口控制 6、拥塞控制 二、简述 TCP 滑动窗口及重传机制 三、滑动窗口过小怎么办 四、如果三次握手时每次握手信息对方没收到会怎么样 五、简述 TCP 的 TIME_WAIT&…

Redis 持久化存储

一、简介 1、RDB redis默认的持久化存储方式&#xff0c;每隔一段时间将内存中的数据写入磁盘中。有手动触发和自动出发两种触发方式。 2、AOF AOF持久化将被执行的写命令记录到AOF文件的末尾&#xff0c;来记录数据发生的变化。Redis启动时&#xff0c;读取AOF文件中的命令并…

WordPress管理员后台登录地址修改教程,WordPress admin登录地址文件修改方法

我们使用WordPress时&#xff0c;管理员后台登录默认地址为“域名/wp-login.php”或“域名/wp-admin”&#xff0c;为了安全&#xff0c;一般会把此地址改掉&#xff0c;防止有人恶意来攻击咱的WordPress&#xff0c;今天出个WordPress后台登录地址修改教程&#xff0c;修改之后…

微信答题扫码答题自己能做吗?微信扫二维码答题快速制作的方法介绍!

在数字化时代&#xff0c;微信扫码答题已经成为一种流行的互动方式&#xff0c;它不仅便捷高效&#xff0c;而且能够极大地提升参与者的体验感。这种新型的答题方式&#xff0c;通过微信平台的广泛覆盖和用户友好的操作界面&#xff0c;为企业和组织提供了一个创新的知识传播和…

Java 集合框架:LinkedList 的介绍、使用、原理与源码解析

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 014 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…

展会预热|邀您共赴2024华南国际工业展览会

展会预告 在数字化转型的浪潮中&#xff0c;广东盘古信息科技股份有限公司&#xff08;以下简称“盘古信息”&#xff09;作为工业软件业内的领军企业&#xff0c;为制造企业提供全面的数字化生产制造运营管理系统及系统集成解决方案。我们将于2024年6月19日至21日亮相华南工博…

Web的UI自动化基础知识

目录 1 Web自动化入门基础1.1 自动化知识以及工具1.2 主流web自动化测试工具1.3 入门案例 2 使用工具的API2.1 元素定位2.1.1 id选择器2.1.2 name2.1.3 class_name选择器2.1.4 tag_name选择器2.1.5 link_text选择器2.1.6 partial_link_text选择器2.1.7 xpath选择器2.1.8 CSS选择…