Qt应用开发(基础篇) | 您所在的位置:网站首页 › qt控件颜色 › Qt应用开发(基础篇) |
一、前言
QColorDialog类继承于QDialog,是一个设计用来选择颜色的对话框部件。 对话框窗口 QDialog QColorDialog颜色选择器一般用来让用户选择颜色,比如画图工具中选择画笔的颜色、刷子的颜色等。你可以使用静态函数QColorDialog::getColor()直接显示对话框,然后重新选择颜色,还能选择具有透明度的颜色,选择的颜色保存在函数返回的一个QColor类型的返回值。 用户通过预设的颜色表格选择颜色,或者通过输入RGB值选择,或者通过鼠标在触屏上滑动寻找想要的颜色。按下Enter键触发确认,按下ESC键触发退出。 QColorDialog *cdia = new QColorDialog(this); cdia->setWindowTitle("my color dialog"); cdia->setCurrentColor(QColor("red")); cdia->exec();或者: QColorDialog::getColor(QColor("red"), this, "my color dialog", QColorDialog::DontUseNativeDialog); 该属性表示当前在对话框中选择的颜色。 QColor currentColor() const void setCurrentColor(const QColor &color) 2、options该属性表示外观的一些显示策略,默认没有策略。如果需要的话,需要在显示之前设置此策略。 QColorDialog::ColorDialogOptions options() const void setOptions(QColorDialog::ColorDialogOptions options) QColorDialog::ColorDialogOption描述ShowAlphaChannel允许用户选择颜色的alpha分量。NoButtons不要显示OK和Cancel按钮。DontUseNativeDialog使用Qt的标准颜色对话框,而不是操作系统自带的颜色对话框。在linux下颜色对话框样式为: 设置DontUseNativeDialog|ShowAlphaChannel之后会恢复成标准对话框,并且多了一个alpha通道数值的输入。 打开对话框,并且连接colorSelected信号绑定的槽,当对话框关闭的时候,这个信号槽连接会被断开。 void open(QObject *receiver, const char *member)示例:打开的同时绑定colorSelected信号的作用槽函数,控制台输出选择的颜色RGB。 public slots: void onColorSelected(const QColor &color); void MainWindow::onColorSelected(const QColor &color) { qDebug()setWindowTitle("my color dialog"); dia->setCurrentColor(QColor("red")); dia->setOptions(QColorDialog::DontUseNativeDialog | QColorDialog::ShowAlphaChannel); dia->open(this,SLOT(onColorSelected(const QColor &))); 2)setOption单独设置某一项显示策略的使能,参考上文options。 void setOption(QColorDialog::ColorDialogOption option, bool on = true) 3)testOption返回某一项显示策略的使能,对应上文setOption。 bool testOption(QColorDialog::ColorDialogOption option) const 4)selectedColor返回当前选择的颜色。 QColor selectedColor() const 4、静态公共函数 1)customColor返回自定义颜色的索引对应的颜色。 QColor customColor(int index) 2)setCustomColor设置自定义颜色每个索引对应的颜色。 void setCustomColor(int index, QColor color) 3)standardColor返回标准颜色的索引对应的颜色。 QColor standardColor(int index) 4)setStandardColor设置标准颜色的索引对应的颜色 void setStandardColor(int index, QColor color) 5)customCount返回自定义颜色的数量。 int customCount() 6)getColor使用模式状态打开对话框,默认给定颜色initial为白色可修改,还可传入窗口标题title和颜色对话框显示策略options。 QColor getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions()) 5、信号 1)colorSelected用户按下ok之后或者确认之后触发该信号。 void colorSelected(const QColor &color) 2)currentColorChanged当窗口的颜色发生变化就会触发该信号。 void currentColorChanged(const QColor &color) |
CopyRight 2018-2019 实验室设备网 版权所有 |