Qt QcomboBox使用方法

117 篇文章 1 订阅

转自:http://blog.sina.com.cn/s/blog_712038ba0101dgfx.html

QcomboBox

The QComboBox widget is a combined buttonand popup list.

说白了就是下拉列表,当点击QcomboBox时,QcomboBox将获得焦点并将其展开,展开以后,焦点将位于QcomboBox.view(),当选中QcomboBox.view()下的某一项时焦点又回到QcomboBox上,QcomboBox的大体构建为:Model-àviewàQcomboBox,数据存在Model中,通过View显示出来就构成了QcomboBox;

 

QcomboBox常用的方法有:

Eg:QcomboBox *combox;

1.       将QcomboBox展开:combox->showPopup();

2.       将QcomboBox收起来:combox->hidePopup();

3.       当QcomboBox展开后焦点位于QcomboBox.view()下,这是我们不想有鼠标点击,想通过方向键控制上下移动,安另外一个键控制选择;

当obj== combox->view()时

if(keyEvent->key()==Qt::Key_Up)

{

    Intcurrent_index=combox->currentIndex();

    current_index--;

    combox->setCurrentIndex(current_index);

    QModelIndexitemIndex = combox->view()->model()->index(current_index,0);

    combox->view()->selectionModel()->setCurrentIndex(itemIndex,QItemSelectionModel::SelectCurrent);

}

else if(keyEvent->key()==Qt::Key_Y)

    {

        QModelIndexitemIndex = combox->view()->model()->index(current_index,0);

        combox->view()->selectionModel()->setCurrentIndex(itemIndex,QItemSelectionModel::ToggleCurrent);

        combox->setCurrentIndex(current_index);

        combox->hidePopup();

        returntrue;

    }

 


Qt的UI界面编辑表格,可以使用QTableWidget控件来实现。首先,需要设置表格的行数和列数,可以使用setRowCount()和setColumnCount()函数来设置。例如,使用ui->tableWidget->setRowCount(5)和ui->tableWidget->setColumnCount(3)分别设置表格的行数和列数为5行3列。 接下来,可以设置表格单元的表头标签,使用setHorizontalHeaderLabels()和setVerticalHeaderLabels()函数来设置横向和纵向的表头标签。例如,使用ui->tableWidget->setHorizontalHeaderLabels(QStringList()<<"姓名"<<"性别"<<"年龄")设置横向的标头标签。 然后,可以使用setItem()函数来设置表格单元内每个单元格的内容。该函数需要传入行号、列号和QTableWidgetItem对象作为参数。例如,使用ui->tableWidget->setItem(i,j, new QTableWidgetItem(name[i]))来设置第i行第j列的单元格内容为name[i]。同样地,可以使用ui->tableWidget->setItem(i,j, new QTableWidgetItem(QString::number(i+18)))将int类型转换为QString类型并设置为单元格内容。 在UI界面中,还可以使用下拉框列表来存放一些下拉框内容。可以使用addItem()和addItems()函数来添加下拉选项。例如,使用ui->comboBox->addItem("奔驰")和ui->comboBox->addItem("拖拉机")来添加下拉选项。 需要注意的是,创建QTableWidgetItem对象需要使用它自身的构造函数,可以根据需要选择使用不同的构造函数。同时,如果需要将数字转换为QString类型,可以使用QString类的静态函数方法number()。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [QT UI界面小部件](https://blog.csdn.net/qq_43628162/article/details/125110348)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值