gpt4 book ai didi

c++ - QT以编程方式制作下拉菜单小部件

转载 作者:搜寻专家 更新时间:2023-10-31 02:18:11 24 4
gpt4 key购买 nike

我在 Mac OSX 上使用 QT 5.5。我想以编程方式制作几个下拉菜单小部件,这些小部件将具有可以更改某些变量值的各种选项。

例如,我会让下拉菜单 1 代表变量“command”:- 问-W-E-R通过选择其中一个,它会使 command = Q 或 command = W。这样一来,我可以将命令发送到另一个知道我发送了 Q 或 W 的程序。

我当前的主窗口看起来像这样:

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
//******* Set up
ui->setupUi(this);
ui->centralWidget->setLayout(new QVBoxLayout);

// 01: Creation of Console
console = new Console;
console->setEnabled(false);

/************** Adding Widgets *********************/
//creation and attribution of slider
slider = new QSlider();
slider->resize(255, 20);
slider->setOrientation(Qt::Horizontal);
slider->setRange(0, 255); //0-255 is range we can read

//creation and attribution of the lcd
lcd = new QLCDNumber();
lcd->setSegmentStyle(QLCDNumber::Flat);
lcd->resize(255, 50);

//03: Adding widgets to layout
//add console as a widget to the main widget
//layout with slider and lcd underneath console
ui->centralWidget->layout()->addWidget(console);
ui->centralWidget->layout()->addWidget(slider);
ui->centralWidget->layout()->addWidget(lcd);

////////I WANT TO ADD VARIOUS DROPDOWN MENUS HERE NEXT TO EACH OTHER////////

/************** Connection Events ***********************/
....

最佳答案

假设您想要一个 ComboBox,下面是您可以如何做到的:

QStringList commands = { "Q", "W", "E", "R" };
QComboBox* combo = new QComboBox(this);
combo->addItems(commands);
connect( combo, &QComboBox::currentTextChanged, this, &MainWindow::commandChanged);

现在,当用户更改组合框项目时,您将获得命令文本。您可以基于此编写代码。

MainWindow::commandChanged(const QString& command_text)
{
//Do the logic based on command_text
}

如果您想选择不同的组合框项目文本,另一个选项是您设置 itemData对于组合框项目。并通过 currentData 将它们放入您的位置ComboBox 的属性。

关于c++ - QT以编程方式制作下拉菜单小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com