【Qt】Qt中的常用属性


 需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。


目录

一、QWidget属性一览

二、属性enabled(可用状态)

三、属性geometry(修改位置和尺寸)

1、QRect类型的结构

2、geometry()获取x,y,width,heigh

3、setGeometry(QRect)实现按钮随左上角形变

4、setGeometry(int x, int y, int width, int height)实现按钮移动

5、应用:必须同意的辞职报告

6、window frame(窗口框架)对属性geometry的影响

6.1对比geometry()和frameGeometry()的大小

四、属性windowTitle(获取/设置控件的窗口标题)

五、属性windowIcon(获取/设置控件的窗口图标)

1、qrc文件管理机制

六、属性windowOpacity(获取/设置控件的不透明值)

七、属性cursor(修改鼠标光标悬停时的样式)

八、属性font(获取/设置当前widget的字体信息)

九、属性toolTip(弹窗等提示文本)

十、属性focusPolicy(设置控件获取到焦点的策略,例如输入框被选中则接收输入)

十一、属性styleSheet(通过CSS设置控件的样式)

1、通过styleSheet实现日夜切换效果


一、QWidget属性一览

Qt中各种控件都是继承自QWidget类。下图可以在ui文件右侧找到:

属性

作用

enabled

设置控件是否可使⽤. true 表⽰可⽤, false 表⽰禁⽤.

禁用:该控件不能接收任何用户的输入事件,外观往往是灰色的,如果一个widget被禁用,该widget的子元素也被禁用。

geometry

位置和尺⼨. 包含 x, y, width, height 四个部分,其中坐标是以父元素为参考进⾏设置的.

windowTitle

设置 widget 标题

windowIcon

设置 widget 图标

windowOpacity

设置 widget 透明度

cursor

⿏标悬停时显⽰的图标形状.

是普通箭头, 还是沙漏, 还是⼗字等形状.

在 Qt Designer 界⾯中可以清楚看到可选项

font

字体相关属性.

涉及到字体家族, 字体⼤⼩, 粗体, 斜体, 下划线等等样式.

toolTip

⿏标悬停在 widget 上会在状态栏中显⽰的提⽰信息

toolTipDuring

toolTip 显⽰的持续时间.

statusTip

Widget 状态发⽣改变时显⽰的提⽰信息(⽐如按钮被按下等).

whatsThis

⿏标悬停并按下 alt+F1 时, 显⽰的帮助信息(显⽰在⼀个弹出的窗⼝中).

styleSheet

允许使⽤ CSS 来设置 widget 中的样式

focusPolicy

该 widget 如何获取到焦点.

• Qt::NoFocus:控件不参与焦点管理,即⽆法通过键盘或⿏标获取焦点

• Qt::TabFocus:控件可以通过Tab键获得焦点

• Qt::ClickFocus:控件可以通过⿏标点击获得焦点

• Qt::StrongFocus:控件可以通过键盘和⿏标获得焦点

• Qt::WheelFocus:控件可以通过⿏标滚轮获得焦点(在某些平台或样式中可能不可⽤)

contextMenuPolicy

上下⽂菜单的显⽰策略.

• Qt::DefaultContextMenu:默认的上下⽂菜单策略,⽤⼾可以通过⿏标右键或键盘

快捷键触发上下⽂菜单

• Qt::NoContextMenu:禁⽤上下⽂菜单,即使⽤⼾点击⿏标右键也不会显⽰菜单

• Qt::PreventContextMenu:防⽌控件显⽰上下⽂菜单,即使⽤⼾点击⿏标右键也不

会显⽰菜单

• Qt::ActionsContextMenu:将上下⽂菜单替换为控件的“动作”菜单,⽤⼾可以通

过⿏标右键或键盘快捷键触发这个菜单• Qt::CustomContextMenu:使⽤⾃定义的上下⽂菜单,⽤⼾可以通过⿏标右键或键

盘快捷键触发这个菜单

locale

设置语⾔和国家地区.

acceptDrops

该部件是否接受拖放操作。

如果设置为true,那么该部件就可以接收来⾃其他部件的拖放操作。当⼀个部件被拖放

到该部件上时,该部件会接收到相应的拖放事件(如dropEvent)。

如果设置为false,那么该部件将不会接收任何拖放操作。

minimumSize

控件的最⼩尺⼨. 包含最⼩宽度和最⼩⾼度

maximumSize

控件的最⼤尺⼨. 包含最⼤宽度和最⼤⾼度

sizePolicy

尺⼨策略. 设置控件在布局管理器中的缩放⽅式.

windowModality

指定窗⼝是否具有 "模态" ⾏为

sizeIncrement

拖动窗⼝⼤⼩时的增量单位

baseSize

窗⼝的基础⼤⼩, ⽤来搭配 sizeIncrement 调整组件尺⼨是计算组件应该调整到的合适

的值.

palette

调⾊板. 可以设置 widget 的颜⾊⻛格

mouseTracking

是否要跟踪⿏标移动事件.

如果设为 true, 表⽰需要跟踪, 则⿏标划过的时候该 widget 就能持续收到⿏标移动事件.

如果设为 false, 表⽰不需要跟踪, 则⿏标划过的时候 widget 不会收到⿏标移动事件, 只

能收到⿏标按下或者释放的事件

tabletTracking

是否跟踪触摸屏的移动事件.

类似于 mouseTracking . Qt 5.9 中引⼊的新属性

layoutDirection

布局⽅向.

• Qt::LeftToRight:⽂本从左到右排列,也是默认值。

• Qt::RightToLeft:⽂本从右到左排列。

• Qt::GlobalAtomics:部件的布局⽅向由全局原⼦性决定(PS 这个翻译其实有点尴

尬. 其实就是根据应⽤程序中的其他 widget 布局⽅向确定的)

autoFillBackground

是否⾃动填充背景颜⾊

windowFilePath

能够把 widget 和⼀个本地⽂件路径关联起来. PS: 其实作⽤不⼤.

accessibleName

设置 widget 的可访问名称. 这个名称可以被辅助技术 (像屏幕阅读器) 获取到.这个属性⽤于实现⽆障碍程序的场景中 (也就是给盲⼈写的程序).

accessibleDescripti

设置 widget 的详细描述. 作⽤同 accessibleName

inputMethodHints

针对输⼊框有效, ⽤来提示用户当前能输⼊的合法数据的格式. ⽐如只能输⼊数字, 只能

输⼊⽇期等.

二、属性enabled(可用状态)

属性enabled的API

说明

isEnable()

获取控件的可用状态

setEnable()

设置控件是否可用,true表示可用,false表示禁用(灰色无法交互)

控制按键控制被控制按键是否可用:

三、属性geometry(修改位置和尺寸)

API

说明(注:这里的QRect或者QPoint是小对象,通常可值传递)

geometry()

获取控件的位置和尺寸。返回结果是一个QRect(一个矩形),包含了x,y,width,height。其中x,y是左上角的坐标。

setGeometry(QRect)

setGeometry(int x, int y, int width, int height)

设置控件的位置和尺寸,可以直接设置一个QRect,也可以分四个属性单独设置

1、QRect类型的结构

注:xy是框框左上角的点

2、geometry()获取x,y,width,heigh

// 这是一个按钮的槽函数,它获取了Widget的宽
void Widget::on_pushButtonDisagree_clicked() // 不同意按钮,如果点击了个按钮该按钮就会随机乱跳
{
    int width = this->geometry().width(); // 获取Widget的宽
}
// 这是一个按钮的槽函数,它获取了Widget的QRect信息
void Widget::on_pushButtonDisagree_clicked() // 不同意按钮,如果点击了个按钮该按钮就会随机乱跳
{
    QRect rect = this->geometry(); // 它获取了Widget的QRect信息
}

3、setGeometry(QRect)实现按钮随左上角形变

这种方式改变x和y,也会对宽和高进行改变,所以target按钮呈现左上角形变的现象。

4、setGeometry(int x, int y, int width, int height)实现按钮移动

5、应用:必须同意的辞职报告

// main.cpp
#include "widget.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    srand(time(nullptr));
    QApplication a(argc, argv);
    Widget w;
    w.show();
    return a.exec();
}

// widget.cpp
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButtonAgree_clicked()    // 同意按钮(鼠标按下+松开按钮触发)
{
    ui->label->setText("谢谢老板,江湖再见!");
}

void Widget::on_pushButtonDisagree_pressed() // 不同意按钮,如果点击了个按钮该按钮就会随机乱跳(鼠标按按钮即可触发)
{
    int width = this->geometry().width();    // 获取Widget的宽
    int height = this->geometry().height();  // 获取widget的高
    // 通过随机送生成按钮的新位置
    int x = rand() % width;
    int y = rand() % height;
    QRect rect = ui->pushButtonDisagree->geometry();
    ui->pushButtonDisagree->setGeometry(x, y, rect.width(), rect.height());
}

// widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:

    void on_pushButtonAgree_clicked();

    void on_pushButtonDisagree_pressed();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

6、window frame(窗口框架)对属性geometry的影响

1、window frame可以通过调用API来隐藏。

2、任意一个控件,它们的坐标系原点既可能是window frame左上角,也可能是widget左上角,因为在Qt中,均提供了这两种不同原点的API函数。

3、对于geometry()和setGeometry(),它们都是不考虑window frame的。

4、对于frameGeometry()和setFrameGeometry(),它们是考虑window frame的。

6.1对比geometry()和frameGeometry()的大小

widget未构造完之前是一样大的,构造之后就能看出大小区别,代码是点击按钮显示geometry()和frameGeometry()的真正大小。

// widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void handle();
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

// widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QPushButton>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    //如果直接在构造函数打印两个大小,是一样的,此时Widget还未加入windows frame
    QRect rect = this->geometry();
    QRect frameRect = this->frameGeometry();
    qDebug() << rect;
    qDebug() << frameRect;

    QPushButton* button = new QPushButton(this);
    button->setText("按钮");
    button->move(100, 100);
    connect(button, &QPushButton::clicked, this, &Widget::handle);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::handle()
{
    QRect rect = this->geometry();
    QRect frameRect = this->frameGeometry();
    qDebug() << rect;
    qDebug() << frameRect;
}

四、属性windowTitle(获取/设置控件的窗口标题)

API

说明

windowTitle()

获取到控件的窗口标题

setWindowTitle(QString& title)

设置控件的窗口标题

windowsTitle仅对顶层窗口有效

五、属性windowIcon(获取/设置控件的窗口图标)

API

说明

windowIcon()

获取到控件的窗口图标,返回QIcon对象(QIcon表示一个图标) 很少用这个API

setWindowIcon(const QIcon& icon)

设置控件的窗口图标

1、windowIcon仅对顶层窗口有效。

2、QIcon对象建议创建在栈上,其一是小对象,其二是创建后被setWindowIcon()函数设置后,临时对象销毁了也还在,其三是QIcon不支持对象树,堆区创建得手动释放资源。

路径建议要用相对路径,要考虑到客户不会把这个jpg文件放到d盘。

也可以使用qrc机制:给Qt项目引入一个额外的xml文件(后缀名使用.qrc表示),在这个xml中把要使用的图片资源导入进来,Qt在编译时,会根据.qrc文件中的图片信息找到图片内容,并提取出图片的二进制数据,会把这些二进制数据自动转成C++代码和工程一起编译到exe里。缺点:无法导入大文件资源。

1、qrc文件管理机制

1、在项目中创建一个.qrc文件(不要中文和特殊符号)

2、把图片导入到qrc文件中

2.1先创建一个前缀Prefix (前缀:理解为虚拟目录,不在自己电脑上真实存在,是Qt自己抽象出来的)

2.2把目标图片加载进来

六、属性windowOpacity(获取/设置控件的不透明值)

API

说明

windowOpacity()

获取控件的不透明值,返回float,取值0.0-1.0表示透明到不透明。

setWindowOpaacity(float n)

设置控件的不透明值(超过1.0或少于0.0的数字设置不进去)

七、属性cursor(修改鼠标光标悬停时的样式)

API

说明

cursor()

获取到当前控件的cursor属性,返回QCursor对象(栈对象)。当鼠标悬停在该控件上时,就会显示出对应的形状。

setCursor(const QCursor& cursor)

设置该控件光标的形状,仅在鼠标停留在该控件时生效。

QGuiApplication::setOverrideCursor(const QCursor& cursor)

设置全局光标的形状,对整个程序中所有的控件生效,覆盖上面的setCursor设置的内容。

源代码中关于cursor属性的名称定义:

enum CursorShape {
        ArrowCursor,
        UpArrowCursor,
        CrossCursor,
        WaitCursor,
        IBeamCursor,
        SizeVerCursor,
        SizeHorCursor,
        SizeBDiagCursor,
        SizeFDiagCursor,
        SizeAllCursor,
        BlankCursor,
        SplitVCursor,
        SplitHCursor,
        PointingHandCursor,
        ForbiddenCursor,
        WhatsThisCursor,
        BusyCursor,
        OpenHandCursor,
        ClosedHandCursor,
        DragCopyCursor,
        DragMoveCursor,
        DragLinkCursor,
        LastCursor = DragLinkCursor,
        BitmapCursor = 24,
        CustomCursor = 25
    };

内置样式的使用:

自定义图片资源充当鼠标样式:阿里巴巴矢量图标库

八、属性font(获取/设置当前widget的字体信息)

font:

API

说明

font()

获取当前widget的字体信息,返回QFont对象

setFont(const QFont& font)

设置当前widget的字体信息

QFont:

属性

说明

family/setFamily

字体家族,比如“楷体”“宋体”等

pointSize/setPointSize

字体大小(单位像素)

weight/setWeight

字体粗细[0, 99]。数值越大越粗

bold/setBold

是否加粗,设置为true,相当于weight = 75;设置为false,相当于weight = 50

italic/setItalic

是否倾斜

underline/setUnderline

是否带有下划线

strikeOut/setStrikeOut

是否带有删除线

............................

九、属性toolTip(弹窗等提示文本)

API

说明

setToolTip(const QString &)

设置toolTip,鼠标悬停在该控件上时会出现弹窗说明(鼠标在控件一秒后,弹窗出现并悬停10秒左右)

setToolTipDuration(int msec)

设置toolTip提示的时间,单位ms。时间一到toolTip自动消失。

toolTip只是给用户看的,代码中一般不需要获取到toolTip

十、属性focusPolicy(设置控件获取到焦点的策略,例如输入框被选中则接收输入)

一个控件获取到焦点有两种方式:

1、鼠标点击

2、键盘Tab键/shift +Tab(切换到下一个输入框/切换到上一个输入框)

API

说明

focusPolicy()

获取该控件的focusPolicy,返回Qt::FocusPolicy

setFocusPolicy(Qt::FocusPolicy policy)

设置widget的focusPolicy

Qt::FocusPolicy是枚举类型,取值如下:

Qt::NoFocus

控件不会接收键盘焦点

Qt::TabFocus

控件可以通过Tab键接收焦点

Qt::ClickFocus

控件在鼠标点击时接收焦点

Qt::StrongFocus

控件可以通过Tab键和鼠标点击接收焦点(默认值)

Qt::WheelFocus

除了Qt::StrongFocus的功能,控件也可以通过鼠标滚轮获取到焦点

十一、属性styleSheet(通过CSS设置控件的样式)

API

说明

setStyleSheet(const QString& styleSheet)

设置控件样式

rgb(255, 0, 255)或者#FF00FF

红色255(最红), 绿色0, 蓝色255

修改控件样式:

可以在Qt文档中搜索Qt Style Sheet查看写法。

1、通过styleSheet实现日夜切换效果

可以使用QQ截图进行取色可知widget的初始颜色为(240, 240, 240):

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

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

相关文章

实用工具推荐----Mocreak Win Office 自动部署(激活+安装)

Mocreak 该工具包含功能 一键快速下载、安装、激活最新版 Microsoft Office 软件。用户可在安装 Word、PPT、Excel 的同时&#xff0c;根据软件提示&#xff0c;自助安装其它组件&#xff0c;包括&#xff1a; Outlook、OneNote、Access、Visio、Project、Publisher、Teams、…

Python图像处理:3.七种图像分割方法

一、常见图像分割方法 (1)传统算法 阈值分割&#xff08;Thresholding&#xff09;&#xff1a;这是最简单也是应用最广泛的一种分割方法&#xff0c;通过选定一个阈值将图像转换为二值图像&#xff0c;从而分割出目标区域。这种方法适用于图像的前景和背景对比明显的情况。 …

PWM驱动舵机

PWM驱动舵机 接线图 程序结构图&#xff1a; pwm.c部分代码 #include "stm32f10x.h" // Device headervoid PWM_Init(void){// 开启时钟&#xff0c;这里TIM2是通用寄存器RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);// GPIO初始化代…

基于JavaWeb+SSM+Vue“鼻护灵”微信小程序系统的设计和实现

基于JavaWebSSMVue“鼻护灵”微信小程序系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图 滑到文末获取源码 Lun文目录 摘 要 3 Abstract 1 1 绪 论 1 1.1研究背景 1 工作的效率。 1 1.2 研究意义 1 1.3研究现状 1 1.4本文组织结构 2 2 技术介绍 3 2…

华为配置终端定位基本实验配置

配置终端定位基本示例 组网图形 图1 配置终端定位基本服务示例 组网需求数据准备配置思路配置注意事项操作步骤配置文件 组网需求 如图1所示&#xff0c;某公司网络中&#xff0c;中心AP直接与RU连接。 管理员希望通过RU收集Wi-Fi终端信息&#xff0c;并提供给定位服务器进行定…

面试知识汇总——Redis高可用(主从、哨兵、集群)

我们在项目中使用Redis&#xff0c;肯定不会是单点部署Redis服务的。因为&#xff0c;单点部署一旦宕机&#xff0c;就不可用了。为了实现高可用&#xff0c;通常的做法是&#xff0c;将数据库复制多个副本以部署在不同的服务器上&#xff0c;其中一台挂了也可以继续提供服务。…

asp.net 作业星软件系统

asp.net 作业星软件系统 用户功能:分教师和家长&#xff08;学生) 注册登录:登录部分是用户名密码&#xff0c;以及教师和家长&#xff08;学生&#xff09;的勾选; 注册包括用户名密码确认密码再次确认密码(与上方输入的密码比对&#xff09;身份班级设置找回账号的问题和答案…

【前端】-css的详解

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

【WEEK3】 【DAY3】JSON Interaction Handling Part Two【English Version】

2024.3.13 Wednesday Continuing from 【WEEK3】 【DAY2】JSON Interaction Handling Part One 【English Version】 Contents 6.4 Code Optimization6.4.1 Unified Solution for Garbled Text6.4.2 Unified Solution for Returning JSON Strings 6.5 Testing Collection Out…

铸铁钳工工作台是一种专门使用工具,具有哪些特点和功能

铸铁钳工作台是一种专门用于加工和修理铸铁制品的工作台。它通常由坚固的钢铁结构构成&#xff0c;表面通常涂有耐腐蚀的涂层&#xff0c;以提高其使用寿命和耐久性。 铸铁钳工作台通常具有以下主要特点和功能&#xff1a; 高强度和稳定性&#xff1a;由于铸铁是一种坚固耐用的…

ConcurrentMap的相关特点和使用

概述 ConcurrentMap是Java中的一个接口&#xff0c;主要扩展了Map接口&#xff0c;用于在多线程环境中提供线程安全的Map实现&#xff0c;是Java.util.concurrent包中的一部分&#xff0c;提供了一些原子操作&#xff0c;这些操作不需要使用synchronized关键字&#xff0c;从而…

SAP前台处理:销售业务集成<VA03/VL03N/VLPOD/VF03) 01/02

一、背景&#xff1a; 从销售订单创建VA01>发货过账VL01N >POD确认>VF01开票 这个流程涉及的凭证流及各个节点如何查询上游下游凭证&#xff1b; 二、凭证流&#xff1a; 从销售订单查看销售凭证流 VA03 双击交货单&#xff1a;带出交货单对应行项目及分批次项目…

一周学会Django5 Python Web开发-Jinja3模版引擎-模板语法

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计37条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

Jest:JavaScript的单元测试利器

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Spring炼气之路(炼气二层)

一、bean的配置 1.1 bean的基础配置 id&#xff1a; bean的id&#xff0c;使用容器可以通过id值获取对应的bean&#xff0c;在一个容器中id值唯一 class&#xff1a; bean的类型&#xff0c;即配置的bean的全路径类名 <bean id"bookDao" class "com.zhang…

Docker 安装 Skywalking以及UI界面

关于Skywalking 在现代分布式系统架构中&#xff0c;应用性能监控&#xff08;Application Performance Monitoring, APM&#xff09;扮演着至关重要的角色。本文将聚焦于一款备受瞩目的开源APM工具——Apache Skywalking&#xff0c;通过对其功能特性和工作原理的详细介绍&am…

ISTJ型人格的心理问题

什么是ISTJ型人格 ISTJ型人格&#xff0c;来源于mbti职业性格测试&#xff0c;代表的是内向&#xff0c;实感&#xff0c;理智&#xff0c;独立&#xff0c;ISTJ型人格则是一种以认真&#xff0c;安静&#xff0c;负责任为显著特征的人格&#xff0c;具有这种人格的人&#xf…

leetcode 3080

leetcode 3080 题目 例子 思路 创建数组&#xff0c;记录nums 的值 对应的id, 按照大小排序。 代码实现 class Solution { public:vector<long long> unmarkedSumArray(vector<int>& nums, vector<vector<int>>& queries) {vector<long…

【回溯专题】【蓝桥杯备考训练】:n-皇后问题、木棒、飞机降落【未完待续】

目录 1、n-皇后问题&#xff08;回溯模板&#xff09; 2、木棒&#xff08;《算法竞赛进阶指南》、UVA307&#xff09; 3、飞机降落&#xff08;第十四届蓝桥杯省赛C B组&#xff09; 1、n-皇后问题&#xff08;回溯模板&#xff09; n皇后问题是指将 n 个皇后放在 nn 的国…

C++学习基础版(一)

目录 一、C入门 1、C和C的区别 2、解读C程序 3、命名空间 4、输入输出 &#xff08;1&#xff09;cout输出流 &#xff08;2&#xff09;endl操纵符 &#xff08;3&#xff09;cin输入流 二、C表达式和控制语句 1、数据机构 特别&#xff1a;布尔类型bool 2、算数运…