QT控件

QT控件

[email protected]

2014年11月28日

 

1  目标:使用QT的标准可视化控件设计界面

2 方法

2.1 QFrame

所有带有边框的部件的基类。

用于调整边框效果。

2.2 QCompleter

具有自动补全功能。

可以被具有编译功能的控件使用。

2.3 QDateTimeEdit

微调日期时间。

可以设置样式。

2.4 QPushButton

setIcon():设置图片。

2.5 QRadioButton、QButtonGroup、QCheckBox

单选按钮,复选按钮。

放在QButtonGroup或者QGroupBox中组成一组。

示例:

 connect(ui->checkBox,SIGNAL(clicked(bool)),this,SLOT(displaySize()));

connect(ui->radioButton_21,SIGNAL(clicked()),this,SLOT(selectResample()));

void MainWindow::selectResample ()

{

   qDebug()<<"sample";

   if(ui->radioButton_21->isChecked ()){

        m_strResample ="nearest";

    }

    elseif(ui->radioButton_22->isChecked ()){

        m_strResample ="bilinear";

    }

}

2.6 QTableView,QTableWidget

QTableView是QTableWidget的基类。

设置行、列数目:setRowCount(),setColumnCount()。

删除行、列:removeRow()、reomveColumn()。

设置水平表头:setHorizontalHeadLabels()。

设置垂直表头:setVertialHeadLabels()。

设置编辑方式:setEditTriggers()。

设置选中方式:setSelectionBehavior()。

获取选中内容:处理相关的信号。

获取/设置表中单元格:cellItem()/setCellItem()。

获取/设置表中单元格Widget:cellWidget()/setCellWidget()。从而可以使表中单元格可以添加任意类型的widget。

参考:http://blog.csdn.net/xgbing/article/details/7774737

示例:初始化表

   QStringList lstHeader;

    lstHeader<<tr("outputfile")<<tr("size")<<tr("status")<<tr("outputtype")<<tr("worldfile")<<tr("resample");

   ui->tableWidget->setRowCount (0);

   ui->tableWidget->setColumnCount (lstHeader.size ());

   ui->tableWidget->setHorizontalHeaderLabels (lstHeader);

示例:获取表中单元格的widget

    QProgressBar *pBar= (QProgressBar *)ui->tableWidget->cellWidget (iRow,iCol);

示例:向表中添加进度条

        if(2==i)//addprogress bar

        {

           QProgressBar *pProgressBar = new QProgressBar(ui->tableWidget);

           ui->tableWidget->setCellWidget (0,i,pProgressBar);

        }else

        {

           QTableWidgetItem *pItem = new QTableWidgetItem(lstText[i]);

           ui->tableWidget->setItem (0,i,pItem);

        }

参考:http://qt-project.org/forums/viewthread/15549

2.7 QListWidget

添加项:addItem()

删除项:takeItem();removeItemWidget();记得要delete item。

修改项:首先将item设置为可编辑(pItem->setFlags(Qt::ItemIsEnabled|Qt::ItemIsEditable)),然后将使用editItem(pItem)。

获取选中项:处理相关信号。

2.8 QComboBox

添加项:addItem()

删除项:removeItem()。

修改项:setItemText()。

获取选中项:处理相关信号。或直接使用currentText()。

2.9 QGroupBox

添加项:在布局中添加项。

布局:setLayout()可以用于添加布局。

2.10 QButtonGroup

用于设置单选按钮为一组。

2.11 QSplitter

用于将子控件大小变为可以拖动,并统一布局。

添加子部件:以splitter为父控件,或者addWidget。

设置切分方法:setOrientation();

2.12 QTabWidget

用于不同页面的切换。

添加页面:addTab()。

删除页面:removeTab()。

切换页面:setCurrentTab()。

获取当前页面:CurrentIndex(),currentWidget()。

2.13 QSlider

滑块控件。

设置范围:setRange()。

设置刻度间隔:setTickInterval()。

设置步进值:setPageStep(),setSingleStep()。

获取当前值:value();处理valueChanged信号。

2.14 QSpinBox

微调控件。

设置范围:setRange()。

设置步进值:setSingleStep()。

获取当前值:value();处理valueChanged信号。


 

2.15 QTreeWidget

树状列表框。

首先要设置col宽度。

添加Root:addTopLevelItem()。

添加subItem:以RootItem为父Item构造。

当前选中项:currentItem()。

2.16QProgressBar

进度条。

设置进度:setValue()。

获取当前进度:value()。

示例:

pBar->setValue (iProgress);

return pBar->value ();

2.17 QDoubleValidator、QIntValidator

验证器,用于输入验证。

通过时触发editingFinished、returnPressed,不通过时无效。

可以通过派生于QValidator的类,实现validate()函数来实现验证输入信息。可以返回明确的同意或拒绝,当未完成输入时,返回不确定。

 

 

你可能感兴趣的:(开发,qt)