qt 创建一个包含两按钮,且安装和自定义控件间没有间距

在 Qt 中创建一个包含两个按钮且按钮之间没有间距的自定义控件,你可以使用 QHBoxLayout 或 QVBoxLayout(取决于你希望按钮是水平排列还是垂直排列),并设置布局的间距为 0。以下是一个简单的示例,展示了如何创建一个水平布局,其中包含两个按钮,并且这两个按钮之间没有间距:

#include <QWidget>
#include <QPushButton>
#include <QHBoxLayout>
// ...
QWidget *createCustomWidget() {
QWidget *customWidget = new QWidget;
QHBoxLayout *layout = new QHBoxLayout(customWidget);
// 设置布局间距为0
layout->setSpacing(0);
layout->setContentsMargins(0, 0, 0, 0); // 设置布局的外边距也为0
QPushButton *button1 = new QPushButton("Button 1");
QPushButton *button2 = new QPushButton("Button 2");
layout->addWidget(button1);
layout->addWidget(button2);
return customWidget;
}
// ...

在这个例子中,createCustomWidget 函数创建了一个新的 QWidget,并使用 QHBoxLayout 作为其布局。布局中的间距和外边距都被设置为 0,以确保按钮之间以及按钮和控件边界之间没有额外的空间。然后,两个 QPushButton 控件被添加到布局中。

你可以在你的主窗口或者其他容器中使用这个自定义控件。例如,你可以在你的主窗口的构造函数中这样使用它:

#include "mainwindow.h"
#include <QApplication>
#include <QWidget>
#include <QPushButton>
#include <QHBoxLayout>
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
QWidget *centralWidget = new QWidget(this);
setCentralWidget(centralWidget);
QWidget *customControl = createCustomWidget();
centralWidget->setLayout(new QVBoxLayout);
centralWidget->layout()->addWidget(customControl);
}
// ...
// 之前定义的 createCustomWidget 函数
// ...

在这个例子中,MainWindow 的中心部件被设置为一个新的 QWidget,它使用 QVBoxLayout 作为布局。然后,将之前创建的自定义控件添加到这个布局中。这样,主窗口就会显示两个紧密相连的按钮,它们之间没有间距。

相关推荐

  1. 定义 按钮按钮边框滑动。

    2024-07-14 08:36:05       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 08:36:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 08:36:05       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 08:36:05       58 阅读
  4. Python语言-面向对象

    2024-07-14 08:36:05       69 阅读

热门阅读

  1. 【Qt】使用临时对象的坑

    2024-07-14 08:36:05       21 阅读
  2. C++智能指针的用法

    2024-07-14 08:36:05       23 阅读
  3. vue怎样自定义指令?

    2024-07-14 08:36:05       21 阅读
  4. c++【入门】求平均分

    2024-07-14 08:36:05       21 阅读
  5. 12. DDL-数据库的管理

    2024-07-14 08:36:05       23 阅读
  6. 菜鸡的原地踏步史08(◐‿◑)

    2024-07-14 08:36:05       26 阅读
  7. Elasticsearch 角色和权限管理

    2024-07-14 08:36:05       23 阅读
  8. Git配置笔记

    2024-07-14 08:36:05       29 阅读
  9. Docker安装Zookeeper、RocketMQ

    2024-07-14 08:36:05       26 阅读
  10. 计算1的数量

    2024-07-14 08:36:05       28 阅读