QT 常用部件(二) 按钮 卷标 combox timer 组合等

转自:http://blog.csdn.net/liang890319/article/details/7090194

QT 常用部件(二) 按钮 卷标 combox timer  组合等

(未完成。。。)

本文介绍了一些常用部件的使用方法和注意事项

主要包括

Label卷标,pushbutton按钮,输入框,显示框,combox,日期部件,定時器,LCD部件,

单选部件,多选部件,Frame部件,group部件,显示部件

有关list和tree部件将在 文件浏览器实例中详细说明用法

 

Label卷标(颜色,透明度,字体,大小,显示图片等)

方法/事件:

属性:伙伴设置

样式:

 

经验之谈:

 

 

(在可视化模式下修改是很简单的 现选中要修改的label 然后按下图所示)



其他的可参考以下说明


http://blog.csdn.net/qter_wd007/article/details/5919006

最近有同学问,如何使用Qt4,设置QLabel中字体的颜色。


其实,这是一个比较常见的问题。大致有几种做法:一是使用setPalette()方法;二是使用样式表;三是可以使用QStyle;四是可以在其中使用一些简单的HTML样式。下面就具体说一下,也算是个总结吧。

 

第一种,使用setPalette()方法如下:

 

...

QLabel *label = new QLabel(tr("Hello Qt!"));

QPalette pe;
pe.setColor(QPalette::WindowText,Qt::white);
label->setPalette(pe);

 QPalete::Window,通常指窗口部件的背景色;

  QPalette:WindowText,通常指窗口不见的前景色;

  QPalette::Base,指文本输入窗口部件(比如QtextEdit,QLinedit等)的背景色.

  QPalette::Text,与QPalette::Base一块使用,指文本输入窗口部件的前景色;

  QPalette::Button,指按钮窗口部件的背景色;

  QPalette::ButtonText,指按钮窗口部件的前景色.


第二种,使用样式表如下:

 

setstylesheet(font-color:your color);

 

//具体情形可以看Qt Assistant

 

第三种,使用QStyle,在Qt Demo中有一个很好的讲解QStyle的例子,可以参考学习。

 

第四种,使用一些简单的HTML格式:

 

QLabel *label = new QLabel(tr("Hello Qt!"));

QLabel *label = new QLabel("<h2><i>Hello</i><font color=red>Qt!</font></h2>");





pushbutton按钮------------------------------

方法/事件:

属性:

样式:

 

 

经验之谈:

 

 

输入框--------------------------------------------

#include <QLineEdit>

方法/事件:单击,获取焦点,失去焦点,清空,撤销

属性:取值内容text()

样式:

 

 

经验之谈:

 

 

显示框---------------------------------------------

textBrowser

方法/事件:

属性:

样式:

 

 

经验之谈:

 

 

Combox------------------------------------------

方法/事件:

属性:

样式:

    QComboBox* m_combox;

    m_combox = new QComboBox(this);

     QStringList test = QStringList()

                <<"111"

                <<"222";

    mp_combox->addItems(test);

    mp_combox->show();

 

经验之谈:

http://blog.csdn.net/c_arm/article/details/6704680
QComboBox插件是一个集按钮和下拉菜单于一体的插件。


QComboBox在占用最小屏幕空间的情况下为用户提供一个下拉菜单选项。


QComboBox在显示当前选项的同时还弹出一系列可选择的项目。用户也可以编辑ComboBox。


ComboBox可以包含pixmap和字符串(insertItem和setItemText)。对于可编辑的ComboBox,clearEditText可以被用来清除用于显示的字符串而不改变ComboBox的内容。


当ComboBox的当前值改变时可以发出两个信号(currentIndexChanged和activated)。不管是否在程序中预先设定或存在用户交互,currentIndexChanged总会被激发,而activated只有在存在用户交互的时候才会被激发。highlighted信号当用户点亮comboBox下拉菜单时被激发。这三种信号都存在QString和int两个版本。如果用户选择或点击一个pixmap,只有int信号会被激发。当一个可编辑的combobox的出现改变的时候,editTextChanged信号就会被激发。


当用户往一个可编辑的combobox里输入一个新的字符串的时候,combobox插件可以将其插进去或不插进去,而且插件还可以把它插到很多位置。默认的规则是AtBottom,但也可以用setInsertPolicy改变规则。


可以通过QValidator来限制可编辑combobox的输入(setValidator)。默认情况下,所有出入都可以接受。


ComboBox可以用insertItem来添加项目。项目可以用setIemText来改变。一个项目可以用removeItem移除,所有项目可以用clear一起移除。当前项目的内容可以用currentText返回,数字项目的内容可以用text返回。当前项目可以用setCurrentIndex设置。comboBox项目数可以用count返回;项目数的最大值可以用setMaxCount来设置。可以用setEditable使项目可编辑。对于可编辑的combobox,可以用setCompleter来设置自动完成,用户是否可以添加副本可以用过setDuplicatesEnabled来设置。


QComboBox使用model/view架构来显示下拉列表和存储项目。默认情况下,QStandardItemModel存储项目,QLIstView子类显示下拉列表。用户可以访问model和view,但QComboBox也提供了函数来设置和取得数据(setItemData和itemText)。也可以设置一个新的model和view。对于combobox标签的文字和标志来说,使用了拥有Qt::DisplayRole和Qt::DecorationRole的model的数据

 

 

日期部件------------------------------------------

#include <QCalendarWidget>

方法/事件:

属性:

样式:

 

 

经验之谈:

 


定時器部件------------------------------------








 

LCD部件-------------------------------------

#include <QLCDNumber>

方法/事件:

属性:

样式:

 

 

经验之谈:

 

 

 

多选部件---------------------------------------

方法/事件:单击,释放

属性:是否选中状态

样式:

#include <QCheckBox>
QCheckBox *checkbox = new QCheckBox("C&ase sensitive", this);

 

经验之谈:

 

 

Frame部件-----------------------------------

方法/事件:

属性:

样式:

Frame类主要是用来创建框架使用的,他的内容可以为空做一个占位符使用,大部分时候用到QHBox或QVBox,因为它们可以自动的布置框架中的窗口部件。

继承自: Q3Frame, Q3ProgressBar, QAbstractScrollArea,QLabel, QLCDNumber, QSplitter, QStackedWidget, and QToolBox.

框架窗口部件有四个属性:frameStyle()、lineWidth()、midLineWidth()和margin()。

框架风格由框架外形和阴影风格决定。框架外形有NoFrame、Box、Panel、StyledPanel、PopupPanel、WinPanel、ToolBarPanel、MenuBarPanel、HLine和VLine,阴影风格有Plain、Raised和Sunken。

线宽就是框架边界的宽度。

中间线宽指定的是在框架中间的另外一条线的宽度,它使用第三种颜色来得到一个三维的效果。注意中间线只有在Box、HLine和VLine这些凸起和凹陷的框架中才被绘制。

 

边白就是框架和框架内容之间的间隙。

http://www.kuqin.com/qtdocument/qframe.html

1.                           QLabel label(...);

2.            label.setFrameStyle(QFrame::Panel | QFrame::Raised);

3.            label.setLineWidth(2);

4.             

5.            QProgressBar pbar(...);

6.            label.setFrameStyle(QFrame::NoFrame);

经验之谈:

让frame和widget一起同比例伸缩

在窗体右击->layout->layout in a grid 就可以了

 

 

 

group部件(单选部件)---------------------------------------

方法/事件:

属性:

样式:

Group box主要是用来组合用途相似的checkboxes和radiobuttons的

1.                QGroupBox *groupBox = new QGroupBox(tr("Exclusive Radio Buttons"));

2.             

3.                QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));

4.                QRadioButton *radio2 = new QRadioButton(tr("R&adio button 2"));

5.                QRadioButton *radio3 = new QRadioButton(tr("Ra&dio button 3"));

6.             

7.                radio1->setChecked(true);

8.             

9.                QVBoxLayout *vbox = new QVBoxLayout;

10.             vbox->addWidget(radio1);

11.             vbox->addWidget(radio2);

12.             vbox->addWidget(radio3);

13.             vbox->addStretch(1);

14.             groupBox->setLayout(vbox);

初始化時單選為選中狀態則設置為checked即可


经验之谈:

 

 

數據显示部件----------------------------------------

方法/事件:

属性:

样式:

#include <QTableView>

显示数据库数据

        QSqlTableModel *model=newQSqlTableModel;

        model->setTable("usr");

       model->setEditStrategy(QSqlTableModel::OnManualSubmit);  //man update

        model->select(); //show all data

        //model->removeColumn(0); //hide 0column

 

        ui->tableView->setModel(model);

       ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);


经验之谈:

 

 

 

另外可參考官方中文教程

http://wenku.baidu.com/view/417c36ccda38376baf1fae18.html?from=rec&pos=1&weight=34&lastweight=22&count=5


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值