Fre*_*Ben 7 qt dialog qt4 color-picker qt5
我有一个QDialog
子类,为用户选择提供了一些选项.其中一个选项是颜色.我已经看过了QColorDialog
,我需要更简单的东西,这也是一个常规的小部件,所以我可以添加到我的布局作为我的对话框的一部分.Qt会提供这样的东西,还是我必须自己创作?如果是后者,最好的策略是什么?
您是否看过Qt解决方案的QtColorPicker?
QtColorPicker以a形式提供一个小部件,QComboBox
具有一组可自定义的预定义颜色,便于快速访问.单击该...
按钮将打开QColorDialog
.它在LGPL下获得许可,因此通过动态链接和正确归属,它可以用于商业软件.搜索QtColorPicker,你会发现它.这是一个链接到一个托管许多Qt解决方案组件的站点:
有一种非常简单的方法可以使用 QPushButton
来显示当前颜色并在单击它时拾取一个:
定义:
#include <QPushButton>
#include <QColor>
class SelectColorButton : public QPushButton
{
Q_OBJECT
public:
SelectColorButton( QWidget* parent );
void setColor( const QColor& color );
const QColor& getColor();
public slots:
void updateColor();
void changeColor();
private:
QColor color;
};
Run Code Online (Sandbox Code Playgroud)
执行:
#include <QColorDialog>
SelectColorButton::SelectColorButton( QWidget* parent )
{
connect( this, SIGNAL(clicked()), this, SLOT(changeColor()) );
}
void SelectColorButton::updateColor()
{
setStyleSheet( "background-color: " + color.name() );
}
void SelectColorButton::changeColor()
{
QColor newColor = QColorDialog::getColor(color,parentWidget());
if ( newColor != color )
{
setColor( newColor );
}
}
void SelectColorButton::setColor( const QColor& color )
{
this->color = color;
updateColor();
}
const QColor& SelectColorButton::getColor()
{
return color;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15620 次 |
最近记录: |