c++ - 在代码中生成 Qt 按钮

标签 c++ qt qtgui qtquick2 qpushbutton

我正在使用 GUI 构建一个简单的 C++ 应用程序。我正在使用最新的 Qt (5.2)。所以我的问题 - 我想在我的窗口上构建类似扫雷字段的东西,我想问如何在程序代码中创建按钮,以便我可以创建不同大小的字段。一定有办法,否则我将不得不将 25、64 和 144 按钮放在三个单独的窗口中,这是不正确的。

编辑:我知道它会出现一些循环,但我缺少有关“创建按钮”的代码以及有关将其放置在窗口上并定位它的代码。

提前谢谢

最佳答案

您有两种不同的方法来解决这个问题:

1) Qt 小部件

使用QPushButton在具有所需迭代计数的循环内创建。

QVector<QPushButton> pushButtons1(25);
foreach (QPushButton &pushButton, pushButtons1)
    pushButton.setText("pushButtons1");

QVector<QPushButton> pushButtons2(64);
foreach (QPushButton &pushButton, pushButtons2)
    pushButton.setText("pushButtons2");

QVector<QPushButton> pushButtons2(144);
foreach (QPushButton &pushButton, pushButtons3)
    pushButton.setText("pushButtons3");

如果不了解更多有关您的背景和使用案例的信息,就很难提供更具体的细节。

2) QtQuickControls

使用Button带有 Repeater 和/或 Grid 的组件,具体取决于您对布局的具体需求。

import QtQuick 2.0

Row {
    Repeater {
        model: 25
        Button {
            text: "foo1"
        }
    }
}


Row {
    Repeater {
        model: 44
        Button {
            text: "foo2"
        }
    }
}

Row {
    Repeater {
        model: 144
        Button {
            text: "foo3"
        }
    }
}

关于c++ - 在代码中生成 Qt 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20962987/

相关文章:

C++迭代器问题

java类问题

c++ - 使用 QWT 和 Microsoft Visual C++ 2010 绘制 MatLab 等效图

qt - 文本更改动画

c++ - QHBoxLayout 中小部件之间的间距

c++ - QT 信号/槽

c++ - 如何在 emacs 中自动格式化(不仅仅是自动缩进)C++ 代码?

c++ - 为什么递归返回调用会在没有显式返回语句的情况下跳出堆栈?

c++ - Q声音错误 - 引用?