(未完成。。。)
本文介绍了一些常用部件的使用方法和注意事项
主要包括
Label卷标,pushbutton按钮,输入框,显示框,combox,日期部件,定時器,LCD部件,
单选部件,多选部件,Frame部件,group部件,显示部件
有关list和tree部件将在 文件浏览器实例中详细说明用法
方法/事件:
属性:伙伴设置
样式:
经验之谈:
(在可视化模式下修改是很简单的 现选中要修改的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>");
方法/事件:
属性:
样式:
经验之谈:
#include <QLineEdit>
方法/事件:单击,获取焦点,失去焦点,清空,撤销
属性:取值内容text()
样式:
经验之谈:
textBrowser
方法/事件:
属性:
样式:
经验之谈:
方法/事件:
属性:
样式:
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>
方法/事件:
属性:
样式:
经验之谈:
#include <QLCDNumber>
方法/事件:
属性:
样式:
经验之谈:
方法/事件:单击,释放
属性:是否选中状态
样式:
#include <QCheckBox>
QCheckBox *checkbox = new QCheckBox("C&ase sensitive", this);
经验之谈:
方法/事件:
属性:
样式:
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 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