qt 容器组控件 Containers

qt 容器组控件 Containers

控件名:

  • Group Box:组合框,提供带有标题的组合框框架
  • Scroll Area:滚动区域
  • Tool Box:工具箱
  • Tab Widget:标签小部件
  • Stacked Widget:堆叠部件
  • Frame:框架
  • Widget:小部件
  • MdiArea:MDI区域
  • Dock Widget:停靠窗口部件。
  • QAxWidget:封装Flash的ActiveX控件。

常用部件应用举例:

1.Group Box:组合框,提供带有标题的组合框框架

Qt中的GroupBox是一种控件容器,用于将相关控件分组并对其进行标记。 GroupBox通常用于分组相关的选项或设置,并为用户提供更好的可视化组织。

GroupBox通常包含一个标题,该标题指示该组中包含的内容。此外,它还可以具有边框和背景颜色,以帮助区分不同的组。

作用:

它通常用于将相关控件分组,并提供注释或标签以帮助用户理解其含义和作用。 Group Box可用于创建复杂的窗体布局,其中包含多个控件和组件。例如,可以在Group Box中放置一组单选按钮或复选框,并将它们与其他控件一起组合在一起以实现特定的功能。在Qt中,Group Box通常用于将用户界面元素按照逻辑或功能分类并组织起来,从而使用户能够更轻松地使用应用程序。

常用方法:

1. setTitle(const QString& title):设置Group Box的标题。

2. setAlignment(Qt::Alignment alignment):设置Group Box中的控件对齐方式。

3. setCheckable(bool checkable):设置Group Box是否可以选择。

4. isChecked() const:返回Group Box是否被选中。

5. setFlat(bool flat):设置Group Box是否带有边框。

6. isFlat() const:返回Group Box是否带有边框。

7. setEnabled(bool enabled):设置Group Box是否可用。

8. isEnabled() const:返回Group Box是否可用。

9. setSizePolicy(QSizePolicy::Policy horizontal, QSizePolicy::Policy vertical):设置Group Box的大小策略。

10. setMinimumSize(int minw, int minh):设置Group Box的最小大小。

11. setMaximumSize(int maxw, int maxh) :设置Group Box的最大大小。

12. layout() const:返回Group Box的布局。

13. setLayout(QLayout* layout):设置Group Box的布局。

14. setStyleSheet(const QString& styleSheet):设置Group Box的样式表。

15. sizeHint() const:返回Group Box的建议大小。

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
//添加头文件
#include <QGroupBox> //组合框 头文件
#include <QRadioButton> //单选按钮头文件
#include <QPushButton> //命令按钮头文件
#include <QCheckBox> //复选框头文件
#include <QVBoxLayout> //可以在水平方向和垂直反方进行排列的控头文件,QHBoxlayout/QVBoxlayout(水平/垂直)
#include <QGridLayout> //网格布局头文件
#include <QMenu> //菜单头文件


Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //创建组合框1并实力化
    QGroupBox *gb1 = new QGroupBox("单选按钮组1");
    //创建单选按钮
    QRadioButton *rb1= new QRadioButton("唱");
    QRadioButton *rb2= new QRadioButton("跳");
    QRadioButton *rb3= new QRadioButton("rap");
    QRadioButton *rb4= new QRadioButton("篮球");
    //创建垂直排列控件
    QVBoxLayout *vbl1 = new QVBoxLayout;
    //将单选按钮进行添加到垂直排列控件中进行垂直排列
    vbl1->addWidget(rb1);
    vbl1->addWidget(rb2);
    vbl1->addWidget(rb3);
    vbl1->addWidget(rb4);
    //将被垂直排列的按钮放到组合框中
    gb1->setLayout(vbl1);

    //***********************************************************************
    //创建组合框2并实力化
    QGroupBox *gb2 = new QGroupBox("复选按钮组2");
    //创建复选按钮
    QCheckBox *cb1= new QCheckBox("唱");
    QCheckBox *cb2= new QCheckBox("跳");
    cb2->setTristate(true); //设置开启复选框的三种状态 不开启时 只有两种
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好!要在Qt程序中连接到Docker容器,您可以使用Docker的远程API来实现。以下是一个简单的示例: 首先,您需要在Qt项目中添加对libcurl的依赖。您可以在Qt项目文件(.pro)中添加以下行: ```bash LIBS += -lcurl ``` 接下来,您可以使用libcurl库来与Docker的远程API进行通信。以下是一个使用libcurl库连接到Docker容器并执行命令的示例代码: ```cpp #include <curl/curl.h> // 回调函数,用于接收HTTP响应 size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* output) { size_t totalSize = size * nmemb; output->append((char*)contents, totalSize); return totalSize; } int main() { // 初始化libcurl curl_global_init(CURL_GLOBAL_DEFAULT); // 创建CURL对象 CURL* curl = curl_easy_init(); if (curl) { // 设置Docker API的URL curl_easy_setopt(curl, CURLOPT_URL, "http://<docker_host>/containers/<container_id>/exec"); // 设置POST请求 curl_easy_setopt(curl, CURLOPT_POST, 1L); // 设置POST数据,此处为命令参数 curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "cmd=ls"); // 设置回调函数,用于接收HTTP响应 std::string response; curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response); // 执行HTTP请求 CURLcode res = curl_easy_perform(curl); if (res == CURLE_OK) { // 请求成功,处理响应 qDebug() << "Response: " << response.c_str(); } else { // 请求失败,打印错误信息 qDebug() << "curl_easy_perform() failed: " << curl_easy_strerror(res); } // 清理CURL对象 curl_easy_cleanup(curl); } // 清理libcurl curl_global_cleanup(); return 0; } ``` 请注意,上述示例代码仅演示了如何发送HTTP请求到Docker容器,并获取响应。您需要将`<docker_host>`替换为您的Docker宿主机的IP地址或域名,将`<container_id>`替换为您要连接的Docker容器的ID或名称。同时,您还可以根据需要修改POST数据和处理响应的逻辑。 希望这可以帮助到您!如果您有任何进一步的问题,请随时提问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值