QT中ComboBox如何获取选中的文本内容??下面程序出错了,如何改正?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT中ComboBox如何获取选中的文本内容??下面程序出错了,如何改正?相关的知识,希望对你有一定的参考价值。

改为下面这个还是不行,哪位给指点一下啊??

ComboBox = new QComboBox(groupBox);
ComboBox->addItem(QObject::tr("/home/apuser/qt6"));
ComboBox->addItem(QObject::tr("/home/apuser/qt1"));、
connect(ComboBox,SIGNAL(activated(int)),this,SLOT(doSelectFont(int))); QString QComboBox::currentText ();

错误代码都没有呢?估计是你定义的SLOT有问题。
你看看我写的这段代码吧,是选取QComboBox控件中的文本内容的。
intmain(intargc,char**argv)

QApplicationapp(argc,argv);
QComboBox*comboBox=newQComboBox;
QTextEdit*textEdit=new QTextEdit;
QVBoxLayout*layout=new QVBoxLayout;
layout->addWidget(textEdit);
layout->addWidget(comboBox);
comboBox->addItem(QObject::tr("ComboBoxItem01"));
comboBox->addItem(QObject::tr("ComboBoxItem02"));
comboBox-addItem(QObject::tr("ComboBoxItem03"));
QObject::connect(comboBox,SIGNAL(activated(QString)),textEdit,SLOT(insertPlainText(QString)));
QWidget mainWin;
mainWin.setLayout(layout);
mainWin.resize(770,550);
mainWin.show();
returnapp.exec();
参考技术A 你这是不是一个VB代码到相应的地方要问啊。 。 。本回答被提问者和网友采纳

c#如何获取comboBox当前选中的值

我更改 comboBox1选项框的值后,但是comboBox1.SelectedItem.ToString();的值并没有更改,一直都是语文,不及格名单后面的输出就是名字和选项框的值,我已经改成 “数学” 了,输出的还是 “语文”;

1、新建winform项目用于测试comboBox。

2、新建完成的项目结构。

3、在Form1窗体中添加一个comboBox,编译。

4、点击comboBox,右键选择属性,找到【items】项,在弹出的【字符串集合编辑器】中输入模拟项1到10。

5、加入模拟值后的运行效果如下,下拉显示了所有的10个项,没有滚动条。

6、再次找到comboBox,设置如下两项:IntegralHeight:false;MaxLength:3。

参考技术A 1.添加combobox后做如下设置

2.根据自己的需要在类中重写如下方法

// ==========================================================
// Combo box data source methods
// ==========================================================
- (NSInteger) numberOfItemsInComboBox: (NSComboBox *) aComboBox
#pragma unused (aComboBox)
return ([dataSource count]);

- (id) comboBox: (NSComboBox *) aComboBox objectValueForItemAtIndex: (NSInteger) index
#pragma unused (aComboBox)
return [dataSource objectAtIndex:index];

- (NSUInteger) comboBox: (NSComboBox *) aComboBox indexOfItemWithStringValue: (NSString *) string
#pragma unused (aComboBox)
return [dataSource indexOfObject:string];


- (NSString *) firstGenreMatchingPrefix: (NSString *) prefix
NSString *string = nil;
NSString *lowercasePrefix = [prefix lowercaseString];
NSEnumerator *stringEnum = [dataSource objectEnumerator];

while ( string = [stringEnum nextObject] )
if ([[string lowercaseString] hasPrefix:lowercasePrefix] )
return (string) ;


return (nil);
// firstGenreMatchingPrefix

- (NSString *) comboBox: (NSComboBox *) aComboBox completedString: (NSString *) inputString
#pragma unused (aComboBox)
// This method is received after each character typed by the user, because we have checked the "completes" flag for
// genreComboBox in IB.
// Given the inputString the user has typed, see if we can find a genre with the prefix, and return it as the suggested complete
// string.
NSString *candidate = [self firstGenreMatchingPrefix:inputString];
return (candidate ? candidate : inputString);

这些方法实现combobox在选择选项、自动完成时的处理方式。其中dataSource为NSArray。
3.设置combobox的datasource为实现上述方法的对象即可。
参考技术B 您要注意的是,你是“输入”的 数学,并非“选择”了 数学
正确代码:xx = comboBox1.Text;追问

这是comboBox1多选框,下拉有语文,数学,英语3项,不是选择了数学吗?

我改成comboBox1.Text;也还是不行

追答

不会吧,我这里测试没问题啊!!!

追问

有更换过里面的内容吗?我第一个是没问题,换了一个里面的值不会更新

追答

试了,两种方法都可以!

comboBox1.Text;

comboBox1.SelectedItem.ToString();

本回答被提问者采纳
参考技术C onSelect:function(rec)varval=$('#cc1').combobox('getValues').join(',');$('#OperationID').val(val);这样可以多选,用一个文本框解决后台取值问题,后台直接取值的话,跟你一样问题 参考技术D DataRowView drv = (DataRowView)comboBox1.SelectedItem;
string Id = drv.Row["id"].ToString();

以上是关于QT中ComboBox如何获取选中的文本内容??下面程序出错了,如何改正?的主要内容,如果未能解决你的问题,请参考以下文章

Qt Quick:如何从ComboBox获取当前文本

c#combox控件,如何获取上一次选中的值

如何获取c#中combox选定的值

wpf datagrid中如何获取选中行中模板如textbox,combobox的内容

c#combox控件,如何获取上一次选中的值

c#如何获取comboBox当前选中的值