每日学习总结20240308

news2024/12/25 12:47:02

每日总结

20240305

常用控件

  1. QPushButton(按钮):用于触发操作或响应用户点击事件。
  2. QLabel(标签):用于显示文本或图像。
  3. QLineEdit(行编辑器):单行文本输入框,用于接收用户输入的文本。
  4. QTextEdit(文本编辑器):多行文本输入框,用于接收用户输入的多行文本。
  5. QComboBox(组合框):下拉列表框,用于从预定义的选项中选择一个。
  6. QCheckBox(复选框):用于表示两种状态之一的复选框。
  7. QRadioButton(单选按钮):用于从多个互斥选项中选择一个的单选按钮。
  8. QSpinBox(数值调节框):用于增加或减少数值的微调框。
  9. QSlider(滑块):用于通过滑动来选择数值的滑块控件。
  10. QProgressBar(进度条):用于表示任务的完成进度。
  11. QGroupBox(分组框):用于将相关控件组合在一起并将其分组显示。
  12. QTabWidget(选项卡窗口):用于在多个页面之间进行切换的选项卡控件。
  13. QListWidget(列表框):用于显示项目列表,并允许用户选择其中一个或多个项目。
  14. QTreeWidget(树形列表框):用于以树形结构显示项目列表的控件。
  15. QMenuBar/QMenu/QAction(菜单栏/菜单/菜单项):用于创建应用程序的菜单和子菜单。

1.MainWindow

在Qt中,MainWindow通常是应用程序的主窗口,是用户与应用程序进行交互的主要界面。下面是MainWindow的十个常用用法:

  1. 创建MainWindow对象
MainWindow w;

创建一个MainWindow对象,通常在应用程序的入口处创建,作为应用程序的主窗口。

  1. 设置窗口标题
w.setWindowTitle("My Application");

设置MainWindow的标题,显示在窗口的标题栏上。

  1. 设置窗口尺寸
w.resize(800, 600);

设置MainWindow的初始尺寸,即窗口的宽度和高度。

  1. 显示窗口
w.show();

显示MainWindow窗口,使其可见。

  1. 设置中心部件
QWidget *centralWidget = new QWidget(&w);
w.setCentralWidget(centralWidget);

设置MainWindow的中心部件,中心部件是MainWindow中放置其他控件的区域。

  1. 添加菜单栏
QMenuBar *menuBar = w.menuBar();
QMenu *fileMenu = menuBar->addMenu("&File");

添加一个菜单栏,并在菜单栏上添加一个菜单。

  1. 添加工具栏
QToolBar *toolBar = w.addToolBar("File");

添加一个工具栏,可以在工具栏上放置各种工具按钮。

  1. 添加状态栏
QStatusBar *statusBar = w.statusBar();
statusBar->showMessage("Ready");

添加一个状态栏,用于显示应用程序的状态信息。

  1. 连接信号与槽
QObject::connect(actionOpen, &QAction::triggered, this, &MainWindow::openFile);

连接菜单项或工具栏按钮的信号与槽,实现用户操作与应用程序逻辑的关联。

  1. 关闭窗口
w.close();

关闭MainWindow窗口,隐藏并释放MainWindow对象的资源。

这些是MainWindow对象的一些常用用法,可以根据具体需求进行调整和扩展。

2.QPushbutton

QPushButton 是 Qt 中常用的按钮控件,用于触发用户交互操作。以下是 QPushButton 的十个常用用法:

  1. 创建按钮
QPushButton *button = new QPushButton("Click me");

创建一个按钮对象,并设置按钮上显示的文本为 “Click me”。

  1. 设置按钮文本
button->setText("Press here");

修改按钮上显示的文本为 “Press here”。

  1. 设置按钮图标
button->setIcon(QIcon("icon.png"));

设置按钮上显示的图标,可以是一个 QIcon 对象或者图片文件路径。

  1. 设置按钮尺寸
button->setFixedSize(100, 50);

设置按钮的固定尺寸为 100x50 像素,这样按钮的大小将不受内容的影响而固定。

  1. 设置按钮样式
button->setStyleSheet("background-color: blue; color: white;");

通过样式表设置按钮的外观,可以设置背景色、文本颜色、边框样式等。

  1. 设置按钮状态
button->setEnabled(false);

禁用按钮,使其不响应用户的点击操作。

  1. 连接按钮的点击信号
connect(button, &QPushButton::clicked, this, &MainWindow::buttonClicked);

连接按钮的 clicked 信号与槽函数,当用户点击按钮时,执行槽函数中的逻辑。

  1. 设置按钮工具提示
button->setToolTip("This is a button");

设置按钮的工具提示,当鼠标悬停在按钮上时显示的文本。

  1. 设置按钮默认状态
button->setDefault(true);

设置按钮为默认按钮,当用户按下 Enter 键时,将模拟点击此按钮。

  1. 设置按钮焦点策略
button->setFocusPolicy(Qt::StrongFocus);

设置按钮的焦点策略,确定按钮在使用 Tab 键切换焦点时的行为。

这些是 QPushButton 的常用用法,可以根据具体需求对按钮进行更多的定制和扩展。

3. layout

布局(Layout)在Qt中用于管理窗口中的控件的位置和大小,使得窗口能够在不同尺寸的设备上自适应地进行布局。下面是布局(Layout)最常用的十个用法:

  1. 创建布局对象
QVBoxLayout *layout = new QVBoxLayout;

创建一个垂直布局(QVBoxLayout)对象,也可以创建水平布局(QHBoxLayout)或网格布局(QGridLayout)对象。

  1. 将控件添加到布局中
layout->addWidget(widget);

将一个控件(如QPushButton、QLabel等)添加到布局中。

  1. 设置布局的间距
layout->setSpacing(10);

设置布局中控件之间的间距。

  1. 设置布局的边距
layout->setContentsMargins(10, 10, 10, 10);

设置布局与窗口边缘的边距。

  1. 设置布局对齐方式
layout->setAlignment(Qt::AlignCenter);

设置布局中控件的对齐方式,如居中对齐、左对齐、右对齐等。

  1. 将布局设置为窗口的布局管理器
QWidget *window = new QWidget;
window->setLayout(layout);

将布局设置为窗口的布局管理器,使得布局能够管理窗口中的控件。

  1. 设置控件的大小策略
widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);

设置控件在布局中的大小策略,如固定大小、自动大小、按比例扩展等。

  1. 清空布局中的控件
layout->removeWidget(widget);
delete widget;

从布局中移除控件并释放内存。

  1. 插入一个空白控件
layout->addSpacerItem(new QSpacerItem(10, 10));

在布局中插入一个空白控件,用于调整布局中控件的位置。

  1. 动态调整布局
layout->invalidate();

在布局中控件发生变化时,调用该方法使布局重新计算控件的位置和大小。

这些是布局最常用的十个用法,通过合理使用布局,可以方便地实现窗口中控件的排列和布局管理。

4. label

Label(标签)是Qt中用于显示文本或图像的控件,下面是Label最常用的十个用法:

  1. 创建Label对象
QLabel *label = new QLabel("Hello, World!");

创建一个Label对象,并设置其显示的文本内容为"Hello, World!"。

  1. 设置文本
label->setText("New Text");

设置Label显示的文本内容为"New Text"。

  1. 设置字体
label->setFont(QFont("Arial", 12));

设置Label显示文本的字体和字号。

  1. 设置文本对齐方式
label->setAlignment(Qt::AlignCenter);

设置Label显示文本的对齐方式,如居中对齐、左对齐、右对齐等。

  1. 设置文本颜色
label->setStyleSheet("color: red");

设置Label显示文本的颜色,可以使用CSS样式。

  1. 设置文本是否自动换行
label->setWordWrap(true);

设置Label显示的文本是否自动换行。

  1. 设置图片
label->setPixmap(QPixmap("image.png"));

设置Label显示的图片,可以是文件路径或者QPixmap对象。

  1. 设置图片缩放
label->setScaledContents(true);

设置Label显示的图片是否自动缩放以适应Label的大小。

  1. 设置鼠标提示
label->setToolTip("This is a label");

设置Label的鼠标提示,鼠标悬停在Label上时显示的文本。

  1. 设置文本是否可选中
label->setTextInteractionFlags(Qt::TextSelectableByMouse);

设置Label中的文本是否可以被鼠标选中。

这些是Label最常用的十个用法,通过合理使用Label控件,可以方便地在Qt应用程序中显示文本和图像。

5. QLineEdit

QLineEdit 是 Qt 中用于输入单行文本的小部件,它提供了很多方便的功能来处理用户输入。以下是十种常用的 QLineEdit 用法:

  1. 文本输入: 最基本的用法是允许用户输入文本。你可以直接在 QLineEdit 对象上调用 setText() 方法设置初始文本,或者使用 text() 方法获取用户输入的文本。

    // 设置初始文本
    QLineEdit *lineEdit = new QLineEdit(this);
    lineEdit->setText("初始文本");
    
    // 获取用户输入的文本
    QString text = lineEdit->text();
    
  2. 密码输入: 使用 setEchoMode() 方法将 QLineEdit 设置为密码模式,这样用户输入的文本将被隐藏。

    QLineEdit *passwordEdit = new QLineEdit(this);
    passwordEdit->setEchoMode(QLineEdit::Password);
    
  3. 只读模式: 通过设置 QLineEdit 的只读属性,可以禁止用户编辑文本,但仍然可以复制和选择文本。

    QLineEdit *readOnlyEdit = new QLineEdit(this);
    readOnlyEdit->setReadOnly(true);
    
  4. 校验器: 使用校验器来限制用户输入的内容。例如,你可以使用 setValidator() 方法设置一个正则表达式校验器,只允许用户输入数字。

    QIntValidator *validator = new QIntValidator(0, 100, this);
    QLineEdit *numericEdit = new QLineEdit(this);
    numericEdit->setValidator(validator);
    
  5. 提示文本: 设置一个提示文本,当用户未输入任何内容时,提示文本会显示在 QLineEdit 中。

    QLineEdit *hintEdit = new QLineEdit(this);
    hintEdit->setPlaceholderText("请输入文本");
    
  6. 事件处理: 通过重写 QLineEdit 的事件处理函数,你可以处理键盘事件、鼠标事件等。

    void MyLineEdit::keyPressEvent(QKeyEvent *event) {
        if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) {
            // 处理回车事件
        } else {
            QLineEdit::keyPressEvent(event);
        }
    }
    
  7. 信号和槽连接: 使用信号和槽机制,可以在用户输入文本时触发相应的操作。

    connect(lineEdit, &QLineEdit::textChanged, [=](const QString &text) {
        // 处理文本变化
    });
    
  8. 自动补全: 使用自动补全功能,当用户输入时,根据已有的选项进行提示。

    QStringList options = {"Option1", "Option2", "Option3"};
    QCompleter *completer = new QCompleter(options, this);
    QLineEdit *autoCompleteEdit = new QLineEdit(this);
    autoCompleteEdit->setCompleter(completer);
    
  9. 拖放操作: 通过设置拖放属性,可以实现从其他应用程序或者内部的拖放文本到 QLineEdit。

    QLineEdit *dragDropEdit = new QLineEdit(this);
    dragDropEdit->setAcceptDrops(true);
    
  10. 文本选择: 使用 selectAll() 方法可以选择整个文本,使用 setSelection() 方法可以选择部分文本。

    lineEdit->selectAll(); // 选择整个文本
    lineEdit->setSelection(startPos, endPos); // 选择部分文本
    

这些是 QLineEdit 的一些常见用法,你可以根据自己的需求选择适合的方法。

6. QComboBox

QComboBox 是 Qt 中常用的组合框控件,它允许用户从预定义的选项中选择一个值。以下是 QComboBox 的十种常用用法:

  1. 添加和移除选项:使用 addItem() 方法可以向组合框添加选项,使用 removeItem() 方法可以移除选项。
QComboBox *comboBox = new QComboBox(parent);
comboBox->addItem("Option 1");
comboBox->addItem("Option 2");
comboBox->removeItem(1); // Removes "Option 2"
  1. 清空所有选项:使用 clear() 方法可以清空组合框中的所有选项。
comboBox->clear();
  1. 设置默认选中项:使用 setCurrentIndex() 方法可以设置组合框的默认选中项。
comboBox->setCurrentIndex(0); // Sets the first item as default
  1. 获取当前选中项的文本和索引:使用 currentText() 方法可以获取当前选中项的文本,使用 currentIndex() 方法可以获取当前选中项的索引。
QString selectedText = comboBox->currentText();
int selectedIndex = comboBox->currentIndex();
  1. 根据索引设置选中项:使用 setCurrentIndex() 方法可以根据索引设置选中项。
comboBox->setCurrentIndex(1); // Sets the second item as selected
  1. 根据文本设置选中项:使用 setCurrentText() 方法可以根据文本设置选中项。
comboBox->setCurrentText("Option 2"); // Sets "Option 2" as selected
  1. 监听选项的选择变化:使用 currentIndexChanged 信号可以监听选项的选择变化。
connect(comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(onComboBoxIndexChanged(int)));
  1. 自定义选项显示:使用 setItemText() 方法可以自定义选项的显示文本。
comboBox->addItem("Option 1", QVariant(1));
comboBox->setItemText(0, "Custom Option 1");
  1. 自定义下拉列表显示:使用 setView() 方法可以自定义下拉列表的显示方式,比如设置成树状结构或者表格结构。
QTreeView *treeView = new QTreeView();
comboBox->setView(treeView);
  1. 启用和禁用组合框:使用 setEnabled() 方法可以启用或禁用组合框。
comboBox->setEnabled(false); // Disables the combo box

这些是 QComboBox 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

7. QCheckBox

QCheckBox 是 Qt 中常用的复选框控件,它允许用户在多个选项中选择一个或多个。以下是 QCheckBox 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QCheckBox 对象,并将其添加到布局中。
QCheckBox *checkBox = new QCheckBox("Option 1", parent);
layout->addWidget(checkBox);
  1. 设置默认选中状态:使用 setChecked() 方法可以设置复选框的默认选中状态。
checkBox->setChecked(true); // Sets the checkbox checked by default
  1. 获取当前选中状态:使用 isChecked() 方法可以获取复选框的当前选中状态。
bool isChecked = checkBox->isChecked();
  1. 设置文本:使用 setText() 方法可以设置复选框的文本。
checkBox->setText("Option 1");
  1. 监听选中状态变化:使用 stateChanged 信号可以监听复选框的选中状态变化。
connect(checkBox, SIGNAL(stateChanged(int)), this, SLOT(onCheckBoxStateChanged(int)));
  1. 自定义样式:使用 setStyleSheet() 方法可以自定义复选框的样式。
checkBox->setStyleSheet("QCheckBox { color: red; }");
  1. 设置三态复选框:使用 setTristate() 方法可以设置复选框为三态模式,允许选中、未选中和半选中三种状态。
checkBox->setTristate(true);
  1. 获取三态复选框的状态:使用 checkState() 方法可以获取三态复选框的当前状态。
Qt::CheckState state = checkBox->checkState();
  1. 启用和禁用复选框:使用 setEnabled() 方法可以启用或禁用复选框。
checkBox->setEnabled(false); // Disables the checkbox
  1. 关联多个复选框:使用 setCheckable() 方法可以将多个复选框关联在一起,使它们只能选择其中一个。
checkBox->setCheckable(true);

这些是 QCheckBox 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

8. QRadioButton

QRadioButton 是 Qt 中常用的单选按钮控件,它允许用户在多个选项中选择一个。以下是 QRadioButton 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QRadioButton 对象,并将其添加到布局中。
QRadioButton *radioButton1 = new QRadioButton("Option 1", parent);
QRadioButton *radioButton2 = new QRadioButton("Option 2", parent);
layout->addWidget(radioButton1);
layout->addWidget(radioButton2);
  1. 设置默认选中状态:使用 setChecked() 方法可以设置单选按钮的默认选中状态。
radioButton1->setChecked(true); // Sets the radio button checked by default
  1. 获取当前选中状态:使用 isChecked() 方法可以获取单选按钮的当前选中状态。
bool isChecked = radioButton1->isChecked();
  1. 设置文本:使用 setText() 方法可以设置单选按钮的文本。
radioButton1->setText("Option 1");
  1. 监听选中状态变化:使用 toggled 信号可以监听单选按钮的选中状态变化。
connect(radioButton1, SIGNAL(toggled(bool)), this, SLOT(onRadioButtonToggled(bool)));
  1. 设置自动互斥:使用 setAutoExclusive() 方法可以设置单选按钮为自动互斥模式,确保在同一个组中只能选中一个按钮。
radioButton1->setAutoExclusive(true);
radioButton2->setAutoExclusive(true);
  1. 设置图标:使用 setIcon() 方法可以设置单选按钮的图标。
radioButton1->setIcon(QIcon(":/icons/icon.png"));
  1. 设置样式表:使用 setStyleSheet() 方法可以设置单选按钮的样式。
radioButton1->setStyleSheet("QRadioButton { color: red; }");
  1. 设置三态按钮:使用 setTristate() 方法可以设置单选按钮为三态模式,允许选中、未选中和半选中三种状态。
radioButton1->setTristate(true);
  1. 获取三态按钮的状态:使用 checkState() 方法可以获取三态按钮的当前状态。
Qt::CheckState state = radioButton1->checkState();

这些是 QRadioButton 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

9. QSpinBox

QSpinBox 是 Qt 中常用的数字输入框控件,它允许用户在预定义的范围内选择一个整数值。以下是 QSpinBox 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QSpinBox 对象,并将其添加到布局中。
QSpinBox *spinBox = new QSpinBox(parent);
layout->addWidget(spinBox);
  1. 设置范围:使用 setRange() 方法可以设置 QSpinBox 的取值范围。
spinBox->setRange(0, 100); // Sets the range from 0 to 100
  1. 设置默认值:使用 setValue() 方法可以设置 QSpinBox 的默认值。
spinBox->setValue(50); // Sets the default value to 50
  1. 获取当前值:使用 value() 方法可以获取 QSpinBox 的当前值。
int value = spinBox->value();
  1. 监听值变化:使用 valueChanged 信号可以监听 QSpinBox 的值变化。
connect(spinBox, SIGNAL(valueChanged(int)), this, SLOT(onSpinBoxValueChanged(int)));
  1. 设置步长:使用 setSingleStep() 方法可以设置 QSpinBox 的步长。
spinBox->setSingleStep(5); // Sets the step size to 5
  1. 设置特定值:使用 setValue() 方法可以设置 QSpinBox 的当前值为特定值。
spinBox->setValue(10); // Sets the value to 10
  1. 设置特定文本:使用 setSuffix() 方法可以设置 QSpinBox 显示的文本后缀。
spinBox->setSuffix(" km/h"); // Sets the suffix to " km/h"
  1. 设置特定样式:使用 setStyleSheet() 方法可以设置 QSpinBox 的样式。
spinBox->setStyleSheet("QSpinBox { background-color: yellow; }");
  1. 启用和禁用:使用 setEnabled() 方法可以启用或禁用 QSpinBox。
spinBox->setEnabled(false); // Disables the spin box

这些是 QSpinBox 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

10.QSlider

QSlider 是 Qt 中常用的滑动条控件,它允许用户在预定义的范围内选择一个值。以下是 QSlider 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QSlider 对象,并将其添加到布局中。
QSlider *slider = new QSlider(Qt::Horizontal, parent); // 水平滑动条
layout->addWidget(slider);
QSlider *slider = new QSlider(Qt::Vertical, parent); // 垂直滑动条
layout->addWidget(slider);
  1. 设置范围:使用 setRange() 方法可以设置 QSlider 的取值范围。
slider->setRange(0, 100); // 设置范围为 0 到 100
  1. 设置默认值:使用 setValue() 方法可以设置 QSlider 的默认值。
slider->setValue(50); // 设置默认值为 50
  1. 获取当前值:使用 value() 方法可以获取 QSlider 的当前值。
int value = slider->value();
  1. 监听值变化:使用 valueChanged 信号可以监听 QSlider 的值变化。
connect(slider, SIGNAL(valueChanged(int)), this, SLOT(onSliderValueChanged(int)));
  1. 设置步长:使用 setSingleStep() 方法可以设置 QSlider 的步长。
slider->setSingleStep(5); // 设置步长为 5
  1. 设置滑块位置:使用 setSliderPosition() 方法可以设置滑块的当前位置。
slider->setSliderPosition(30); // 设置滑块位置为 30
  1. 设置特定样式:使用 setStyleSheet() 方法可以设置 QSlider 的样式。
slider->setStyleSheet("QSlider::handle { background-color: red; }");
  1. 设置刻度显示:使用 setTickPosition() 方法可以设置刻度的位置。
slider->setTickPosition(QSlider::TicksBelow); // 设置刻度在下方显示
  1. 启用和禁用:使用 setEnabled() 方法可以启用或禁用 QSlider。
slider->setEnabled(false); // 禁用滑动条

这些是 QSlider 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

11.QProgressBar

QProgressBar 是 Qt 中常用的进度条控件,用于显示任务的完成进度。以下是 QProgressBar 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QProgressBar 对象,并将其添加到布局中。
QProgressBar *progressBar = new QProgressBar(parent);
layout->addWidget(progressBar);
  1. 设置范围:使用 setRange() 方法可以设置 QProgressBar 的取值范围。
progressBar->setRange(0, 100); // 设置范围为 0 到 100
  1. 设置当前值:使用 setValue() 方法可以设置 QProgressBar 的当前值。
progressBar->setValue(50); // 设置当前值为 50
  1. 获取当前值:使用 value() 方法可以获取 QProgressBar 的当前值。
int value = progressBar->value();
  1. 设置显示文本:使用 setFormat() 方法可以设置 QProgressBar 显示的文本格式。
progressBar->setFormat("Progress: %p%"); // 设置显示格式为百分比
  1. 设置特定样式:使用 setStyleSheet() 方法可以设置 QProgressBar 的样式。
progressBar->setStyleSheet("QProgressBar { background-color: yellow; }");
  1. 监听值变化:通常情况下,QProgressBar 不需要监听值变化,因为它是由程序控制的。

  2. 显示/隐藏:使用 setVisible() 方法可以显示或隐藏 QProgressBar。

progressBar->setVisible(true); // 显示进度条
  1. 启用和禁用:使用 setEnabled() 方法可以启用或禁用 QProgressBar。
progressBar->setEnabled(false); // 禁用进度条
  1. 设置方向:使用 setOrientation() 方法可以设置 QProgressBar 的方向。
progressBar->setOrientation(Qt::Vertical); // 设置进度条为垂直方向

这些是 QProgressBar 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

12. QGroupBox

QGroupBox 是 Qt 中常用的分组框控件,用于将一组相关的控件放在一个框中,以便于组织和管理。以下是 QGroupBox 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QGroupBox 对象,并将其添加到布局中。
QGroupBox *groupBox = new QGroupBox("Options", parent);
layout->addWidget(groupBox);
  1. 设置标题:使用构造函数或 setTitle() 方法可以设置 QGroupBox 的标题。
QGroupBox *groupBox = new QGroupBox("Options", parent);

或者:

groupBox->setTitle("Options");
  1. 添加控件:使用布局管理器向 QGroupBox 中添加控件。
QVBoxLayout *groupBoxLayout = new QVBoxLayout;
groupBoxLayout->addWidget(new QPushButton("Button 1"));
groupBoxLayout->addWidget(new QPushButton("Button 2"));
groupBox->setLayout(groupBoxLayout);
  1. 设置样式:使用 setStyleSheet() 方法可以设置 QGroupBox 的样式。
groupBox->setStyleSheet("QGroupBox { background-color: yellow; }");
  1. 设置边框:使用 setFlat() 方法可以设置 QGroupBox 的边框是否显示。
groupBox->setFlat(true); // 隐藏边框
  1. 启用和禁用:使用 setEnabled() 方法可以启用或禁用 QGroupBox。
groupBox->setEnabled(false); // 禁用 QGroupBox
  1. 设置对齐方式:使用 setAlignment() 方法可以设置 QGroupBox 中的控件的对齐方式。
groupBox->setAlignment(Qt::AlignCenter); // 设置控件居中对齐
  1. 设置标题对齐方式:使用 setTitleAlignment() 方法可以设置 QGroupBox 标题的对齐方式。
groupBox->setTitleAlignment(Qt::AlignCenter); // 设置标题居中对齐
  1. 设置平铺布局:使用 setFlatLayout() 方法可以设置 QGroupBox 中的控件以平铺方式布局。
groupBox->setFlatLayout(true); // 设置控件以平铺方式布局
  1. 监听状态变化:通常情况下,QGroupBox 不需要监听状态变化,因为它通常是由用户交互而改变的。

这些是 QGroupBox 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

13. QTabWidget

QTabWidget 是 Qt 中常用的选项卡控件,用于在同一窗口中显示多个选项卡页面。以下是 QTabWidget 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QTabWidget 对象,并将其添加到布局中。
QTabWidget *tabWidget = new QTabWidget(parent);
layout->addWidget(tabWidget);
  1. 添加选项卡页:使用 addTab() 方法可以添加选项卡页面,并设置标题和页面内容。
QWidget *page1 = new QWidget;
tabWidget->addTab(page1, "Page 1");

QWidget *page2 = new QWidget;
tabWidget->addTab(page2, "Page 2");
  1. 移除选项卡页:使用 removeTab() 方法可以移除选项卡页面。
tabWidget->removeTab(index); // 移除指定索引的选项卡页
  1. 设置当前页:使用 setCurrentIndex() 方法可以设置当前显示的选项卡页面。
tabWidget->setCurrentIndex(index); // 设置当前显示的选项卡页为指定索引
  1. 获取当前页索引:使用 currentIndex() 方法可以获取当前显示的选项卡页面的索引。
int currentIndex = tabWidget->currentIndex();
  1. 设置选项卡位置:使用 setTabPosition() 方法可以设置选项卡的位置。
tabWidget->setTabPosition(QTabWidget::North); // 设置选项卡在顶部显示
  1. 设置样式:使用 setStyleSheet() 方法可以设置 QTabWidget 的样式。
tabWidget->setStyleSheet("QTabWidget::tab { background-color: yellow; }");
  1. 监听选项卡变化:使用 currentChanged 信号可以监听选项卡的变化。
connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(onTabChanged(int)));
  1. 启用和禁用:使用 setEnabled() 方法可以启用或禁用 QTabWidget。
tabWidget->setEnabled(false); // 禁用选项卡控件
  1. 设置自定义图标:使用 setTabIcon() 方法可以为选项卡设置自定义图标。
tabWidget->setTabIcon(index, icon); // 为指定索引的选项卡设置图标

这些是 QTabWidget 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

14. QListWidget

QListWidget 是 Qt 中常用的列表控件,用于显示一个可滚动的项目列表。以下是 QListWidget 的十种常用用法:

  1. 创建并添加到布局:使用 new 关键字创建 QListWidget 对象,并将其添加到布局中。
QListWidget *listWidget = new QListWidget(parent);
layout->addWidget(listWidget);
  1. 添加列表项:使用 addItem() 方法可以向 QListWidget 中添加列表项。
listWidget->addItem("Item 1");
listWidget->addItem("Item 2");
  1. 设置单选模式:使用 setSelectionMode() 方法可以设置列表的选择模式为单选。
listWidget->setSelectionMode(QAbstractItemView::SingleSelection);
  1. 设置多选模式:使用 setSelectionMode() 方法可以设置列表的选择模式为多选。
listWidget->setSelectionMode(QAbstractItemView::MultiSelection);
  1. 获取选中项:使用 selectedItems() 方法可以获取当前选中的项。
QList<QListWidgetItem*> selectedItems = listWidget->selectedItems();
  1. 清空所有项:使用 clear() 方法可以清空列表中的所有项。
listWidget->clear();
  1. 设置自定义项:使用 setItemWidget() 方法可以为列表中的项设置自定义控件。
QWidget *customWidget = new QWidget;
QPushButton *button = new QPushButton("Click Me", customWidget);
listWidget->setItemWidget(item, customWidget);
  1. 获取当前项:使用 currentItem() 方法可以获取当前选中的项。
QListWidgetItem *currentItem = listWidget->currentItem();
  1. 启用和禁用:使用 setEnabled() 方法可以启用或禁用 QListWidget。
listWidget->setEnabled(false); // 禁用列表控件
  1. 监听项选择变化:使用 itemSelectionChanged 信号可以监听列表项的选择变化。
connect(listWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged()));

这些是 QListWidget 的一些常见用法,根据实际需求,你可以灵活运用这些方法来实现各种功能。

15.QTreeWidget

QTreeWidget 是 Qt 中常用的树形控件,用于显示树形结构的数据。以下是 QTreeWidget 的十种常用用法,并提供一个综合示例:

  1. 创建并添加到布局:使用 new 关键字创建 QTreeWidget 对象,并将其添加到布局中。
QTreeWidget *treeWidget = new QTreeWidget(parent);
layout->addWidget(treeWidget);
  1. 设置列数:使用 setColumnCount() 方法可以设置树控件的列数。
treeWidget->setColumnCount(3); // 设置树控件有3列
  1. 添加树节点:使用 addTopLevelItem() 方法可以添加顶层树节点。
QTreeWidgetItem *topItem = new QTreeWidgetItem(treeWidget);
topItem->setText(0, "Top Level Item");
  1. 添加子节点:使用 addChild() 方法可以添加子节点。
QTreeWidgetItem *childItem = new QTreeWidgetItem(topItem);
childItem->setText(0, "Child Item");
  1. 设置节点文本:使用 setText() 方法可以设置节点的文本。
topItem->setText(1, "Data 1");
childItem->setText(1, "Data 2");
  1. 设置节点图标:使用 setIcon() 方法可以设置节点的图标。
topItem->setIcon(0, QIcon(":/icons/folder.png"));
childItem->setIcon(0, QIcon(":/icons/file.png"));
  1. 展开和折叠节点:使用 expandItem()collapseItem() 方法可以展开和折叠节点。
treeWidget->expandItem(topItem); // 展开节点
treeWidget->collapseItem(topItem); // 折叠节点
  1. 获取当前选中的节点:使用 currentItem() 方法可以获取当前选中的节点。
QTreeWidgetItem *currentItem = treeWidget->currentItem();
  1. 启用和禁用:使用 setEnabled() 方法可以启用或禁用 QTreeWidget。
treeWidget->setEnabled(false); // 禁用树控件
  1. 监听节点选择变化:使用 itemSelectionChanged 信号可以监听节点的选择变化。
connect(treeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(onItemSelectionChanged()));

综合示例:

#include <QtWidgets>

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

    // Create a tree widget
    QTreeWidget treeWidget;
    treeWidget.setColumnCount(2);

    // Add top level items
    QTreeWidgetItem *topItem1 = new QTreeWidgetItem(&treeWidget);
    topItem1->setText(0, "Top Level Item 1");
    topItem1->setText(1, "Data 1");

    QTreeWidgetItem *topItem2 = new QTreeWidgetItem(&treeWidget);
    topItem2->setText(0, "Top Level Item 2");
    topItem2->setText(1, "Data 2");

    // Add child items
    QTreeWidgetItem *childItem1 = new QTreeWidgetItem(topItem1);
    childItem1->setText(0, "Child Item 1");
    childItem1->setText(1, "Data 3");

    QTreeWidgetItem *childItem2 = new QTreeWidgetItem(topItem2);
    childItem2->setText(0, "Child Item 2");
    childItem2->setText(1, "Data 4");

    // Show the tree widget
    treeWidget.show();

    return app.exec();
}

这些是 QTreeWidget 的一些常见用法和一个综合示例。根据实际需求,你可以灵活运用这些方法来实现各种功能。

16.QMenuBar

QMenuBar 是 Qt 中用于创建菜单栏的控件,用于组织和管理程序的菜单。以下是 QMenuBar 的十种常用用法,并提供一个综合示例程序:

  1. 创建并添加到窗口:使用 new 关键字创建 QMenuBar 对象,并将其设置为窗口的菜单栏。
QMenuBar *menuBar = new QMenuBar(parent);
window->setMenuBar(menuBar);
  1. 添加菜单:使用 addMenu() 方法可以添加菜单到菜单栏。
QMenu *fileMenu = menuBar->addMenu("File");
  1. 添加菜单项:使用 addAction() 方法可以向菜单中添加菜单项。
fileMenu->addAction("Open");
fileMenu->addAction("Save");
  1. 添加子菜单:使用 addMenu() 方法可以向菜单中添加子菜单。
QMenu *editMenu = menuBar->addMenu("Edit");
QMenu *copySubMenu = editMenu->addMenu("Copy");
copySubMenu->addAction("Copy Text");
copySubMenu->addAction("Copy Image");
  1. 设置快捷键:使用 setShortcut() 方法可以为菜单项设置快捷键。
fileMenu->addAction("Open")->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_O));
  1. 添加分隔符:使用 addSeparator() 方法可以在菜单中添加分隔符。
fileMenu->addSeparator();
  1. 监听菜单项点击事件:使用 triggered 信号可以监听菜单项的点击事件。
connect(fileMenu, SIGNAL(triggered(QAction*)), this, SLOT(onFileMenuActionTriggered(QAction*)));
  1. 设置菜单项状态:使用 setEnabled() 方法可以设置菜单项的状态(启用/禁用)。
fileMenu->actions().at(0)->setEnabled(false); // 禁用第一个菜单项
  1. 添加工具栏:使用 addToolBar() 方法可以添加工具栏到菜单栏。
QToolBar *toolBar = new QToolBar("Toolbar", parent);
menuBar->addToolBar(toolBar);
  1. 设置样式:使用 setStyleSheet() 方法可以设置菜单栏的样式。
menuBar->setStyleSheet("background-color: lightgray;");

综合示例程序:

#include <QtWidgets>

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

    // Create main window
    QMainWindow window;

    // Create menu bar
    QMenuBar *menuBar = new QMenuBar(&window);
    window.setMenuBar(menuBar);

    // Create file menu
    QMenu *fileMenu = menuBar->addMenu("File");
    fileMenu->addAction("Open");
    fileMenu->addAction("Save");

    // Create edit menu
    QMenu *editMenu = menuBar->addMenu("Edit");
    editMenu->addAction("Cut");
    editMenu->addAction("Copy");
    editMenu->addAction("Paste");

    // Create toolbar
    QToolBar *toolBar = new QToolBar("Toolbar", &window);
    menuBar->addToolBar(toolBar);

    // Show main window
    window.resize(400, 300);
    window.show();

    return app.exec();
}

这些是 QMenuBar 的一些常见用法和一个综合示例程序。根据实际需求,你可以灵活运用这些方法来实现各种功能。

17.QMenu

QMenu 是 Qt 中常用的菜单控件,用于在应用程序中创建菜单。以下是 QMenu 的十种常用用法,并提供一个综合示例程序:

  1. 创建并添加到菜单栏:使用 new 关键字创建 QMenu 对象,并将其添加到菜单栏中。
QMenu *menu = new QMenu("File", menuBar);
menuBar->addMenu(menu);
  1. 添加菜单项:使用 addAction() 方法可以向菜单中添加菜单项。
menu->addAction("New");
menu->addAction("Open");
  1. 设置快捷键:使用 setShortcut() 方法可以为菜单项设置快捷键。
menu->addAction("Save")->setShortcut(QKeySequence::Save);
menu->addAction("Exit")->setShortcut(QKeySequence::Quit);
  1. 添加分隔符:使用 addSeparator() 方法可以在菜单中添加分隔符。
menu->addSeparator();
  1. 添加子菜单:使用 addMenu() 方法可以向菜单中添加子菜单。
QMenu *subMenu = new QMenu("Options", menu);
menu->addMenu(subMenu);
  1. 设置菜单项图标:使用 setIcon() 方法可以为菜单项设置图标。
menu->addAction("Cut")->setIcon(QIcon(":/icons/cut.png"));
  1. 菜单项的禁用和启用:使用 setEnabled() 方法可以禁用或启用菜单项。
menu->addAction("Paste")->setEnabled(false);
  1. 监听菜单项触发:使用 triggered 信号可以监听菜单项的触发。
connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(onMenuActionTriggered(QAction*)));
  1. 设置菜单的样式:使用 setStyleSheet() 方法可以设置菜单的样式。
menu->setStyleSheet("QMenu { background-color: yellow; }");
  1. 设置菜单的上下文菜单:使用 setContextMenuPolicy() 方法可以设置菜单的上下文菜单策略。
widget->setContextMenuPolicy(Qt::CustomContextMenu);
connect(widget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(onCustomContextMenu(const QPoint&)));

综合示例:

#include <QtWidgets>

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

    // Create main window
    QMainWindow mainWindow;
    QWidget *centralWidget = new QWidget;
    mainWindow.setCentralWidget(centralWidget);

    // Create menu bar
    QMenuBar *menuBar = mainWindow.menuBar();

    // File menu
    QMenu *fileMenu = new QMenu("File", menuBar);
    menuBar->addMenu(fileMenu);

    fileMenu->addAction("New");
    fileMenu->addAction("Open");
    fileMenu->addAction("Save")->setShortcut(QKeySequence::Save);
    fileMenu->addSeparator();
    fileMenu->addAction("Exit")->setShortcut(QKeySequence::Quit);

    // Edit menu
    QMenu *editMenu = new QMenu("Edit", menuBar);
    menuBar->addMenu(editMenu);

    editMenu->addAction("Cut")->setIcon(QIcon(":/icons/cut.png"));
    editMenu->addAction("Copy")->setIcon(QIcon(":/icons/copy.png"));
    editMenu->addAction("Paste")->setEnabled(false);

    // Context menu
    centralWidget->setContextMenuPolicy(Qt::CustomContextMenu);
    connect(centralWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(onCustomContextMenu(const QPoint&)));

    // Show the main window
    mainWindow.show();

    return app.exec();
}

这些是 QMenu 的一些常见用法和一个综合示例程序。根据实际需求,你可以灵活运用这些方法来实现各种功能。

18. QAction

QAction 是 Qt 中用于表示用户操作的动作的类,通常与菜单、工具栏和快捷键相关联。以下是 QAction 的十种常用用法,并提供一个综合示例程序:

  1. 创建并添加到菜单:使用 new 关键字创建 QAction 对象,并将其添加到菜单中。
QAction *action = new QAction("Open", parent);
menu->addAction(action);
  1. 设置文本:使用 setText() 方法可以设置动作的显示文本。
action->setText("Open File");
  1. 设置图标:使用 setIcon() 方法可以为动作设置图标。
action->setIcon(QIcon(":/icons/open.png"));
  1. 设置快捷键:使用 setShortcut() 方法可以为动作设置快捷键。
action->setShortcut(QKeySequence::Open);
  1. 设置状态:使用 setEnabled() 方法可以设置动作的启用状态。
action->setEnabled(false); // 禁用动作
  1. 设置工具提示:使用 setToolTip() 方法可以设置动作的工具提示。
action->setToolTip("Open a file"); 
  1. 设置动作类型:使用 setCheckable() 方法可以设置动作为可选中的动作。
action->setCheckable(true); // 设置动作为可选中的动作
  1. 监听动作触发:使用 triggered 信号可以监听动作的触发。
connect(action, &QAction::triggered, this, &MainWindow::onActionTriggered);
  1. 动态添加子菜单:使用 addMenu() 方法可以向动作添加子菜单。
QMenu *subMenu = new QMenu("Options", parent);
action->setMenu(subMenu);
  1. 设置动作样式:使用 setStyleSheet() 方法可以设置动作的样式。
action->setStyleSheet("QAction { background-color: yellow; }");

综合示例:

#include <QtWidgets>

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

    // Create main window
    QMainWindow mainWindow;
    QWidget *centralWidget = new QWidget;
    mainWindow.setCentralWidget(centralWidget);

    // Create menu bar
    QMenuBar *menuBar = mainWindow.menuBar();

    // File menu
    QMenu *fileMenu = new QMenu("File", menuBar);
    menuBar->addMenu(fileMenu);

    // Open action
    QAction *openAction = new QAction("Open", fileMenu);
    openAction->setShortcut(QKeySequence::Open);
    fileMenu->addAction(openAction);

    // Save action
    QAction *saveAction = new QAction("Save", fileMenu);
    saveAction->setShortcut(QKeySequence::Save);
    fileMenu->addAction(saveAction);

    // Edit menu
    QMenu *editMenu = new QMenu("Edit", menuBar);
    menuBar->addMenu(editMenu);

    // Cut action
    QAction *cutAction = new QAction("Cut", editMenu);
    cutAction->setIcon(QIcon(":/icons/cut.png"));
    editMenu->addAction(cutAction);

    // Copy action
    QAction *copyAction = new QAction("Copy", editMenu);
    copyAction->setIcon(QIcon(":/icons/copy.png"));
    editMenu->addAction(copyAction);

    // Show the main window
    mainWindow.show();

    return app.exec();
}

这些是 QAction 的一些常见用法和一个综合示例程序。根据实际需求,你可以灵活运用这些方法来实现各种功能。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测试用例编写详解

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、概念 测试用例的基本概念&#xff1a; 测试用例&#xff…

【物联网】stm32芯片结构组成,固件库、启动过程、时钟系统、GPIO、NVIC、DMA、UART以及看门狗电路的全面详解

一、stm32的介绍 1、概述 stm32: ST&#xff1a;指意法半导体 M&#xff1a;指定微处理器 32&#xff1a;表示计算机处理器位数 与ARM关系:采用ARM推出cortex-A&#xff0c;R,M三系中的M系列&#xff0c;其架构主要基于ARMv7-M实现 ARM分成三个系列&#xff1a; Cortex-A&…

position定位学习

加了绝对定位的盒子不能通过margin:0 auto水平居中 脱标元素不会产生外边距合并问题

macos m1 arm芯片 使用jpype报错 FileNotFoundError: [Errno 2] JVM DLL not found

startJVM(jpype.getDefaultJVMPath()) 报错 Traceback (most recent call last):File "/Users/thomas990p/PycharmProjects/tuya/volcano-biz-scripts/WenKongFa/FinalCode/java2python/CallJavaAPI.py", line 12, in <module>startJVM(jpype.getDefaultJVMPa…

【Azure 架构师学习笔记】- Azure Private Endpoint

本文属于【Azure 架构师学习笔记】系列。 前言 公有云的其中一个特点是默认允许公网访问&#xff0c; 这就对企业环境带来风险&#xff0c;也是很多年前企业对公有云抵触的其中一个原因&#xff0c;现在这类问题已经很少&#xff0c;因为有了很多技术来确保云上的资源被安全地…

讲解linux下的Qt如何编译oracle的驱动库libqsqloci.so

1.需求 最近linux下的Qt项目中要连接oracle数据库&#xff0c;用户需要我们访问他们的oracle数据库&#xff0c;查询数据 2.遇到的问题 qt连接oracle数据库需要oracle的驱动库libqsqloci.so插件&#xff0c;需要编译下&#xff0c;之前没有编译过&#xff0c;看了网上的…

#微信小程序(布局、渲染层基础知识)

1.IDE&#xff1a;微信开发者工具 2.实验&#xff1a; 3.记录: &#xff08;1&#xff09;view&#xff08;类似于div&#xff09; &#xff08;2&#xff09;块级元素不占满一行且水平均分布局flex,justify(space-around) &#xff08;3&#xff09;滚动<scroll view sc…

一文搞懂电容两端电压为啥不能突变?

大家好&#xff0c;我是砖一。 我们工作学习过程中&#xff0c;经常会遇到的电容&#xff0c;对于电容的作用&#xff0c;可能大家一般去网上搜有很多&#xff0c;比如储能&#xff0c;滤波&#xff0c;旁路&#xff0c;去耦等等。 但是我要告诉大家的是&#xff0c;电容最重…

基于yolov5的SAR舰船检测系统,可进行图像目标检测,也可进行视屏和摄像检测(pytorch框架)【python源码+UI界面+功能源码详解】

功能演示&#xff1a; 基于yolov5的SAR舰船检测系统&#xff0c;系统既能够实现图像检测&#xff0c;也可以进行视屏和摄像实时检测_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于yolov5的SAR舰船检测系统是在pytorch框架下实现的&#xff0c;这是一个完整的项目&…

ai直播数字人:AI大模型应用开发的神奇世界

当AI技术的发展走向一个新的高峰&#xff0c;AI直播数字人逐渐成为人们关注的焦点。这种全新的数字人形态&#xff0c;通过大模型应用开发&#xff0c;带来了一个神奇世界。 在这个神奇世界里&#xff0c;AI直播数字人可以展现出与真实人类相媲美的外貌和声音。通过先进的图像…

RoaringBitmap 源码

当调用add方法时&#xff0c;先把x分成高16位和低16位。 ">>> "是 Java 中的无符号右移操作符&#xff0c;表示将 x 的二进制表示向右移动 16 位 当x为 65535 &#xff0c;二进制为1111111111111111&#xff0c;16个1&#xff0c;即丢掉右16位&#xff0c;左…

FX110网:CTRL FX 是典型的诈骗平台!汇友发出肺腑之言

“CTRL FX 是一个典型的投资骗局&#xff0c;以‘出金缴税’等为幌子反复割韭菜&#xff0c;入金了这么多&#xff0c;但没有一次出金获得批准。揭露他们的骗局&#xff0c;保护受害者对我是一种宽慰。” 这是近日一汇友在对CTRL FX平台彻底失望后发出的声音。珍惜别的投资者用…

如何使用apk2url从APK中快速提取IP地址和URL节点

关于apk2url apk2url是一款功能强大的公开资源情报OSINT工具&#xff0c;该工具可以通过对APK文件执行反汇编和反编译&#xff0c;以从中快速提取出IP地址和URL节点&#xff0c;然后将结果过滤并存储到一个.txt输出文件中。 该工具本质上是一个Shell脚本&#xff0c;专为红队…

Claude3综合能力媲美GPT4.0!逻辑推理能力独一档的存在!

当人们还在期待GPT5.0的时候&#xff0c;openai竞争对手Anthropic公司又献出了Claude3&#xff0c;它在综合能力实测当中可以媲美GPT4.0&#xff01;尤其它的逻辑推理能力&#xff0c;有过之而无不及&#xff0c;几乎独一档的存在。一问世就吸引了大量用户使用。 接下来分享一…

游泳——所须知的那些事

游泳是一项大家喜爱的健身活动&#xff0c;带夏季的时候游泳场所成了大家常去的休闲活动场地&#xff0c;但也会存在一定的安全风险&#xff0c;为了保证游泳的安全&#xff0c;需要知道一些事情&#xff1a; 1.清楚的知道游泳池的深度 大部分游泳场馆的泳池是有深浅区的&…

如何一键发布离线地图(二次开发)

离线地图发布工具支持 离线浏览 离线地图二次开发 离线工具应用(绘制&#xff1a;点、线、面&#xff0c;导入导出矢量数据)以及轨迹纪录等等应用&#xff0c;具体可参看&#xff1a;演示实例 Bigemap Server离线地图服务器下载地址&#xff1a;http://download.bigemap.com…

亚洲股市下一步的关键:中国看财报、日本看汇率、韩国看治理、印度看基建

汇丰认为财报将是驱动中国股市走势的关键因素。目前市场预计2024年中国企业每股收益将增长16%。 日本央行转向、A股业绩复苏、印度基建、韩国市场改革......最近这段时间&#xff0c;亚洲各大市场涌现出了不同的交易主题。 汇丰银行指出&#xff0c;中国受到本土企业盈利能力…

VR数字化线上展馆降低企业投入成本和周期

VR云展会是一种全新的展览形式&#xff0c;它利用虚拟现实技术&#xff0c;将实体展览搬到线上&#xff0c;让观众可以在家中就能参观各种展览。这种新型的展览方式有许多亮点&#xff0c;下面就来详细介绍一下。 首先&#xff0c;VR云展会打破了地域限制。传统的实体展览通常只…

JavaWeb-MyBatis(上)

学完项目管理工具Maven后&#xff0c;继续学习MyBatis。我们都知道&#xff0c;JDBC是一个与数据库连接相关的API&#xff0c;最开始学习数据库连接都是从JDBC开始学起&#xff0c;但是其也有缺点&#xff0c;比如硬编码和操作繁琐等等。而今天学习的MyBatis就是专门为简化JDBC…

Python 通过掩膜剪切栅格多边形

剪切、提取到掩码和栅格子集是常见的 GIS 操作。使用 Python 的 gdal 软件包可以非常容易地实现这些过程的自动化。本教程将演示如何使用 gdal Python API 中的 Warp() 函数将栅格剪切到指定范围并将栅格剪切到多边形图层。这些操作通常也被称为掩码提取或提取到掩码。 安装 GD…