网站建设 自学,wordpress导航站模版,电脑编程培训班学费,用vs2012做网站教程目录
一、前言
二、属性和方法
三、信号
四#xff1a;QFontComboBox 一、前言 QComboBox继承于QWidget#xff0c;作为Qt Wdiget常用的控件#xff0c;在实际开发中#xff0c;经常用来作为某些特定参数属性的选择#xff0c;比如语言、国家、字体、主题…目录
一、前言
二、属性和方法
三、信号
四QFontComboBox 一、前言 QComboBox继承于QWidget作为Qt Wdiget常用的控件在实际开发中经常用来作为某些特定参数属性的选择比如语言、国家、字体、主题、模式、串口号、波特率等选择性已知需要下拉的场景。 QComboBox是一种显示列表选项的控件占用屏幕最小。列表内容可以是图像或者字符串列表内容可以是固定也可以是可编辑的。在应用中可随时做插入删除的动态操作通过信号获取状态的改变。 二、属性和方法
1、count属性保存当前下拉列表的总条数没有则是0。 int count() const //当前下拉列表总条数
2、currentIndex属性保存当前列表的显示下标从0开始。如果下拉框是空的那么此值为-1。
int currentIndex() const //当前下拉框显示的列表值的下标
void setCurrentIndex(int index) //设置下拉框显示的列表值的下标 3、currentText属性保存当前显示的文本。
QString currentText() const //返回当前显示的文本
void setCurrentText(const QString text) //设置当前显示的文本
4、duplicatesEnabled属性保存是否列表插入重复的数据默认为false。
bool duplicatesEnabled() const //获取是否可以插入重复项
void setDuplicatesEnabled(bool enable) //设置是否可以插入重复项
5、editable属性保存是否可编辑默认值为false。 bool isEditable() const //获取是否可编辑void setEditable(bool editable) //设置是否可编辑
6、frame属性保存下拉框是否使用边框绘制。
bool hasFrame() const //获取是否有边框
void setFrame(bool) //设置是否有边框
7、iconSize属性保存组合框显示的图标大小添加列表项的时候可以同时设置icon路径。
QSize iconSize() const //获取图标尺寸
void setIconSize(const QSize size) //设置图标尺寸
void addItem(const QIcon icon, const QString text, const QVariant userData QVariant()) //添加列表项显示文本和自定义数据
QIcon itemIcon(int index) const //获取图标
8、insertPolicy属性保存组合框插入策略默认新插入的为最后一项。
QComboBox::InsertPolicy insertPolicy() const //获取插入策略
void setInsertPolicy(QComboBox::InsertPolicy policy) //设置插入策略1) QComboBox::NoInsert //不会被插入
2) QComboBox::InsertAtTop //当做第一项插入
3) QComboBox::InsertAtCurrent //当前项被替换
4) QComboBox::InsertAtBottom //当做最后一项插入
5) QComboBox::InsertAfterCurrent //插入到当前项之后
6) QComboBox::InsertBeforeCurrent //插入到当前项之前
7) QComboBox::InsertAlphabetically //字符串按照字母顺序插入到组合框中
9、maxCount保存组合框下拉列表最大支持条数。 int maxCount() const //获取最大条数void setMaxCount(int max) //设置最大条数
10、maxVisibleItems保存屏幕下拉显示的最大条数默认10条。
int maxVisibleItems() const //获取显示最大条数
void setMaxVisibleItems(int maxItems)//设置显示最大条数
11、minimumContentsLength属性保存组合框中应容纳的最小字符数默认为0。
int minimumContentsLength() const //获取最小字符数
void setMinimumContentsLength(int characters) //设置最小字符数
12、sizeAdjustPolicy属性保存尺寸调整策略出于性能考虑大模型才考虑使用此方法。
QComboBox::SizeAdjustPolicy sizeAdjustPolicy() const //获取策略
void setSizeAdjustPolicy(QComboBox::SizeAdjustPolicy policy) //设置策略
1 QComboBox::AdjustToContents //组合框将始终根据内容进行调整
2 QComboBox::AdjustToContentsOnFirstShow //组合框将在第一次显示时调整到它的内容。
3 QComboBox::AdjustToMinimumContentsLengthWithIcon //组合框将调整到最小宽度加图标距离
13、userData下拉表项绑定自定义数据。
void addItem(const QString text, const QVariant userData QVariant()) //插入一列可选是否附带自定义数据
int findData(const QVariant data, int role Qt::UserRole, Qt::MatchFlags flags static_castQt::MatchFlags(Qt::MatchExactly|Qt::MatchCaseSensitive)) const //根据自定义数据查找
int findText(const QString text, Qt::MatchFlags flags Qt::MatchExactly|Qt::MatchCaseSensitive) const //根据列表文本查找在实际应用中给每一项添加自定义数据是很常用的比如需要显示各个国家的下拉框分别有中国、美国、英国。他们代表的值分别为5、6、7就需要addItem的时候绑定每个文本代表的自定义数据值当我们从通讯得到了6通过findData去找到绑定的数据得到下标从而让下拉框显示美国。
QComboBox *box new QComboBox(this);
box-addItem(中国5)
box-addItem(美国6)
box-addItem(英国7)
int idx box-findData(6);
box-setCurrentIndex(idx);
三、信号 实际应用中我们会需要根据下拉项的变化做一些联动或者数据上的改变信号获取由文本变化currentTextChanged或者currentIndexChanged来相应处理当你需要区分是否是用户主动选择改变则使用activated和textActivated。
信号
void activated(int index) //用户主动改变当前项触发
void textActivated(const QString text) //用户主动改变当前项触发
void currentTextChanged(const QString text) //当前文本改变同步触发此信号
void currentIndexChanged(int index) //当下标改变的时候此信号同步触发
void editTextChanged(const QString text) //编辑模式下内容改变触发
void highlighted(int index) //用户改变高亮项触发
四QFontComboBox QFontComboBox使用按字母顺序排列的字体系列名称列表填充例如Arial、Helvetica和Times New Roman。有一些字体会直接按字体显示对于Symbol之类的字体其名称无法在字体本身中表示则在家族名称旁边显示该字体的示例。 QFontComboBox通常用于工具栏与QComboBox一起用于控制字体大小两个QToolButton或者QCheckBox用于控制粗体和斜体。
1、currentFont属性控制当前显示的字体返回QFont。当用户选择新的字体时除了currentIndexChanged()之外还会发出currentFontChanged()信号
QFont currentFont() const //获取当前字体
void setCurrentFont(const QFont f) //设置当前字体2、fontFilters属性保存要过滤的字体调用setFontFilters()来过滤掉某些不想要的字体。
QFontComboBox::FontFilters fontFilters() const
void setFontFilters(QFontComboBox::FontFilters filters) QFontComboBox::AllFonts 显示所有字体QFontComboBox::ScalableFonts 显示可缩放字体QFontComboBox::NonScalableFonts 显示不可伸缩字体QFontComboBox::MonospacedFonts 显示等宽字体QFontComboBox::ProportionalFonts 显示比例字体 3、writingSystem属性保存显示支持给定书写系统的字体。默认QFontDatabase:Any
QFontDatabase::WritingSystem writingSystem() const
void setWritingSystem(QFontDatabase::WritingSystem)QFontDatabase::AnyQFontDatabase::LatinQFontDatabase::GreekQFontDatabase::CyrillicQFontDatabase::ArmenianQFontDatabase::HebrewQFontDatabase::ArabicQFontDatabase::SyriacQFontDatabase::ThaanaQFontDatabase::DevanagariQFontDatabase::BengaliQFontDatabase::GurmukhiQFontDatabase::GujaratiQFontDatabase::OriyaQFontDatabase::TamilQFontDatabase::TeluguQFontDatabase::KannadaQFontDatabase::MalayalamQFontDatabase::SinhalaQFontDatabase::ThaiQFontDatabase::LaoQFontDatabase::TibetanQFontDatabase::MyanmarQFontDatabase::GeorgianQFontDatabase::KhmerQFontDatabase::SimplifiedChineseQFontDatabase::TraditionalChineseQFontDatabase::JapaneseQFontDatabase::KoreanQFontDatabase::VietnameseQFontDatabase::SymbolQFontDatabase::OtherSymbolQFontDatabase::OghamQFontDatabase::RunicQFontDatabase::Nko