Results 1 to 2 of 2

Thread: how to get the color of the widget from mouse move

  1. #1
    Join Date
    May 2010
    Location
    China
    Posts
    66
    Thanks
    8
    Qt products
    Qt4
    Platforms
    Windows

    Default how to get the color of the widget from mouse move

    i draw a colorpanel used the below code ,but how to get the color from mouse move event?

    Qt Code:
    1. void ColorPanel::paintEvent(QPaintEvent *event)
    2. {
    3.  
    4. QPainter painter(this);
    5.  
    6. QStringList colors;
    7.  
    8. colors<<"FFFFFF"<<"FFFAFA"<<"FFF68F"<<"FFEFD5"<<"FFE4E1"<<"FFDEAD"<<"FFC1C1"<<"FFB90F"<<"FFA54F "<<"FF8C00 "<<"FF7F50 "<<"FF6EB4 "<<"FF4500 "<<"FF3030 "<<"FDF5E6 "<<"FAF0E6 "<<"F7F7F7 "<<"F5DEB3 "<<"F0FFFF "<<"F0E68C "<<"EEEE00 "<<"EEE8AA "<<"EEDFCC "<<"EED5B7 "<<"EEC900 "<<"EEAEEE "<<"EE9A49 "<<"EE8262 "<<"EE7621 "<<"EE6363 "<<"EE3A8C "<<"EE00EE "<<"EAEAEA "<<"E5E5E5 "<<"E0EEE0 "<<"DEB887 "<<"DBDBDB "<<"D9D9D9 "<<"D3D3D3 "<<"D1D1D1 "<<"CDCDC1 "<<"CDC9A5 "<<"CDC1C5 "<<"CDB7B5 "<<"CDAF95 "<<"CD9B1D "<<"CD8C95 "<<"CD7054 "<<"CD661D "<<"CD5B45 "<<"CD3333 "<<"CD1076 "<<"CAFF70 "<<"C71585 "<<"C4C4C4 "<<"C1CDC1 "<<"BFBFBF "<<"BDB76B "<<"BBFFFF "<<"B8B8B8 "<<"B4EEB4 "<<"B3B3B3 "<<"B0E2FF "<<"B03060 "<<"ADADAD "<<"A9A9A9 "<<"A4D3EE "<<"A1A1A1 "<<"9F79EE "<<"9B30FF "<<"9A32CD "<<"98F5FF "<<"949494 "<<"912CEE "<<"8EE5EE "<<"8DEEEE "<<"8B8B7A "<<"8B8878 "<<"8B8378 "<<"8B7D6B "<<"8B7500 "<<"8B668B "<<"8B5A2B "<<"8B4789 "<<"8B4500 "<<"8B3626 "<<"8B1C62 "<<"8B0000 "<<"87CEFF "<<"858585 "<<"838B83 "<<"7FFF00 "<<"7D7D7D "<<"7B68EE "<<"7A67EE "<<"778899 "<<"737373 "<<"707070 "<<"6CA6CD "<<"6A5ACD "<<"6959CD "<<"66CD00 "<<"63B8FF "<<"5F9EA0 "<<"5C5C5C "<<"556B2F "<<"548B54 "<<"525252 "<<"4EEE94 "<<"4A4A4A "<<"474747 "<<"458B00 "<<"424242 "<<"3D3D3D "<<"388E8E "<<"333333 "<<"2E8B57 "<<"282828 "<<"228B22 "<<"1F1F1F "<<"1C1C1C "<<"171717 "<<"0F0F0F "<<"050505 "<<"00FF00 "<<"00EE76 "<<"00CDCD "<<"00BFFF "<<"008B45 "<<"006400 "<<"0000AA"
    9. <<"FFFFF0 "<<"FFFAF0 "<<"FFF5EE "<<"FFEC8B "<<"FFE4C4 "<<"FFDAB9 "<<"FFC125 "<<"FFB6C1 "<<"FFA500 "<<"FF83FA "<<"FF7F24 "<<"FF6A6A "<<"FF4040 "<<"FF1493 "<<"FCFCFC "<<"FAEBD7 "<<"F5FFFA "<<"F4F4F4 "<<"F0FFF0 "<<"F08080 "<<"EEE9E9 "<<"EEE685 "<<"EEDC82 "<<"EED2EE "<<"EEC591 "<<"EEAD0E "<<"EE9A00 "<<"EE7AE9 "<<"EE7600 "<<"EE5C42 "<<"EE30A7 "<<"EE0000 "<<"E9967A "<<"E3E3E3 "<<"E0E0E0 "<<"DDA0DD "<<"DB7093 "<<"D8BFD8 "<<"D2B48C "<<"D15FEE "<<"CDCDB4 "<<"CDC8B1 "<<"CDC0B0 "<<"CDB79E "<<"CDAD00 "<<"CD96CD "<<"CD853F "<<"CD69C9 "<<"CD6600 "<<"CD5555 "<<"CD3278 "<<"CD00CD "<<"CAE1FF "<<"C6E2FF "<<"C2C2C2 "<<"C1C1C1 "<<"BF3EFF "<<"BCEE68 "<<"BABABA "<<"B8860B "<<"B4CDCD "<<"B2DFEE "<<"B0E0E6 "<<"AEEEEE "<<"ABABAB "<<"A8A8A8 "<<"A3A3A3 "<<"A0522D "<<"9E9E9E "<<"9AFF9A "<<"999999 "<<"97FFFF "<<"9400D3 "<<"90EE90 "<<"8E8E8E "<<"8DB6CD "<<"8B8B00 "<<"8B8682 "<<"8B814C "<<"8B7B8B "<<"8B7355 "<<"8B6508 "<<"8B5A00 "<<"8B475D "<<"8B3E2F "<<"8B2500 "<<"8B1A1A "<<"8A8A8A "<<"87CEFA "<<"848484 "<<"836FFF "<<"7F7F7F "<<"7D26CD "<<"7AC5CD "<<"7A378B "<<"76EEC6 "<<"71C671 "<<"6E8B3D "<<"6C7B8B "<<"698B69 "<<"68838B "<<"668B8B "<<"636363 "<<"5E5E5E "<<"5B5B5B "<<"555555 "<<"545454 "<<"515151 "<<"4D4D4D "<<"48D1CC "<<"473C8B "<<"454545 "<<"4169E1 "<<"3CB371 "<<"383838 "<<"32CD32 "<<"2E2E2E "<<"27408B "<<"218868 "<<"1E90FF "<<"1A1A1A "<<"141414 "<<"0D0D0D "<<"030303 "<<"00FA9A "<<"00EE00 "<<"00CD66 "<<"00B2EE "<<"008B00 "<<"0000FF "<<"00008B"
    10. <<"FFFFE0 "<<"FFFACD "<<"FFF0F5 "<<"FFEBCD "<<"FFE4B5 "<<"FFD700 "<<"FFC0CB "<<"FFB5C5 "<<"FFA07A "<<"FF82AB "<<"FF7F00 "<<"FF69B4 "<<"FF3E96 "<<"FF00FF "<<"FAFAFA "<<"FA8072 "<<"F5F5F5 "<<"F4A460 "<<"F0F8FF "<<"EEEEE0 "<<"EEE9BF "<<"EEE5DE "<<"EED8AE "<<"EECFA1 "<<"EEB4B4 "<<"EEA9B8 "<<"EE9572 "<<"EE799F "<<"EE6AA7 "<<"EE4000 "<<"EE2C2C "<<"EDEDED "<<"E8E8E8 "<<"E0FFFF "<<"E066FF "<<"DCDCDC "<<"DAA520 "<<"D6D6D6 "<<"D2691E "<<"D02090 "<<"CDCD00 "<<"CDC673 "<<"CDBE70 "<<"CDB5CD "<<"CDAA7D "<<"CD950C "<<"CD8500 "<<"CD6889 "<<"CD6090 "<<"CD4F39 "<<"CD2990 "<<"CD0000 "<<"C9C9C9 "<<"C67171 "<<"C1FFC1 "<<"C0FF3E "<<"BEBEBE "<<"BCD2EE "<<"BA55D3 "<<"B7B7B7 "<<"B452CD "<<"B23AEE "<<"B0C4DE "<<"ADFF2F "<<"AB82FF "<<"A6A6A6 "<<"A2CD5A "<<"A020F0 "<<"9C9C9C "<<"9ACD32 "<<"9932CC "<<"96CDCD "<<"9370DB "<<"8FBC8F "<<"8E8E38 "<<"8C8C8C "<<"8B8989 "<<"8B864E "<<"8B7E66 "<<"8B795E "<<"8B6969 "<<"8B636C "<<"8B5742 "<<"8B4726 "<<"8B3A62 "<<"8B2323 "<<"8B0A50 "<<"8A2BE2 "<<"87CEEB "<<"8470FF "<<"828282 "<<"7EC0EE "<<"7CFC00 "<<"7A8B8B "<<"79CDCD "<<"76EE00 "<<"7171C6 "<<"6E7B8B "<<"6B8E23 "<<"698B22 "<<"68228B "<<"666666 "<<"616161 "<<"5D478B "<<"595959 "<<"551A8B "<<"53868B "<<"4F94CD "<<"4B0082 "<<"4876FF "<<"4682B4 "<<"43CD80 "<<"40E0D0 "<<"3B3B3B "<<"36648B "<<"303030 "<<"2B2B2B "<<"262626 "<<"212121 "<<"1E1E1E "<<"191970 "<<"121212 "<<"0A0A0A "<<"00FFFF "<<"00F5FF "<<"00E5EE "<<"00CD00 "<<"009ACD "<<"00868B "<<"0000EE "<<"000080"
    11. <<"FFFF00 "<<"FFF8DC "<<"FFEFDB "<<"FFE7BA "<<"FFE1FF "<<"FFD39B "<<"FFBBFF "<<"FFAEB9 "<<"FF8C69 "<<"FF8247 "<<"FF7256 "<<"FF6347 "<<"FF34B3 "<<"FF0000 "<<"FAFAD2 "<<"F8F8FF "<<"F5F5DC "<<"F2F2F2 "<<"F0F0F0 "<<"EEEED1 "<<"EEE8CD "<<"EEE0E5 "<<"EED5D2 "<<"EECBAD "<<"EEB422 "<<"EEA2AD "<<"EE82EE "<<"EE7942 "<<"EE6A50 "<<"EE3B3B "<<"EE1289 "<<"EBEBEB "<<"E6E6FA "<<"E0EEEE "<<"DEDEDE "<<"DC143C "<<"DA70D6 "<<"D4D4D4 "<<"D1EEEE "<<"CFCFCF "<<"CDC9C9 "<<"CDC5BF "<<"CDBA96 "<<"CDB38B "<<"CD9B9B "<<"CD919E "<<"CD8162 "<<"CD6839 "<<"CD5C5C "<<"CD3700 "<<"CD2626 "<<"CCCCCC "<<"C7C7C7 "<<"C5C1AA "<<"C1CDCD "<<"BFEFFF "<<"BDBDBD "<<"BC8F8F "<<"B9D3EE "<<"B5B5B5 "<<"B3EE3A "<<"B22222 "<<"B0B0B0 "<<"ADD8E6 "<<"AAAAAA "<<"A52A2A "<<"A2B5CD "<<"9FB6CD "<<"9BCD9B "<<"9AC0CD "<<"98FB98 "<<"969696 "<<"919191 "<<"8F8F8F "<<"8E388E "<<"8B8B83 "<<"8B8970 "<<"8B8386 "<<"8B7D7B "<<"8B7765 "<<"8B6914 "<<"8B5F65 "<<"8B4C39 "<<"8B4513 "<<"8B3A3A "<<"8B2252 "<<"8B008B "<<"8968CD "<<"878787 "<<"838B8B "<<"7FFFD4 "<<"7D9EC0 "<<"7CCD7C "<<"7A7A7A "<<"787878 "<<"757575 "<<"708090 "<<"6E6E6E "<<"6B6B6B "<<"696969 "<<"66CDAA "<<"6495ED "<<"607B8B "<<"5CACEE "<<"575757 "<<"54FF9F "<<"528B8B "<<"4F4F4F "<<"4A708B "<<"483D8B "<<"458B74 "<<"436EEE "<<"404040 "<<"3A5FCD "<<"363636 "<<"2F4F4F "<<"292929 "<<"242424 "<<"20B2AA "<<"1C86EE "<<"1874CD "<<"104E8B "<<"080808 "<<"00FF7F "<<"00EEEE "<<"00CED1 "<<"00C5CD "<<"008B8B "<<"00688B "<<"0000CD "<<"000000";
    12.  
    13. int colorsCount=0;
    14. for (int i=0;i<widthCount;i++)
    15. {
    16. for (int j=0;j<heightCount;j++)
    17. {
    18.  
    19. if (colorsCount<colors.count())
    20. {
    21. painter.setPen(QPen(Qt::black,1));
    22. painter.setPen(palette().foreground().color());
    23. painter.setBrush(QBrush(QColor("#"+colors[colorsCount].trimmed())));
    24. painter.drawRect(i*boxSize->width(),j*boxSize->height(),boxSize->width(),boxSize->height());
    25. colorsCount++;
    26. }
    27.  
    28. }
    29. }
    30. }
    To copy to clipboard, switch view to plain text mode 

  2. #2
    Join Date
    Dec 2010
    Posts
    2
    Qt products
    Qt4
    Platforms
    MacOS X Windows

    Default Re: how to get the color of the widget from mouse move

    You are two steps away:

    1. The mouse event functions are separate from the paint functions, so the color data will need to be available outside the paint event. As a general rule I like to keep event handling and data in separate routines, but for this example, I've just moved the color list data into a member variable.

    2. You need to re-implement mouse event handling. There, you can calculate the index by remapping from the widget pixel coordinates to the the row/column of the grid being drawn.

    Qt Code:
    1. class ColorPanel : public QWidget
    2. {
    3. Q_OBJECT
    4.  
    5. public:
    6. ColorPanel(QWidget *parent = 0);
    7.  
    8. signals:
    9. void colorHighlightedChanged( QColor color );
    10. void indexHighlightedChanged( int index );
    11.  
    12. protected:
    13. void paintEvent(QPaintEvent *event);
    14. void mouseMoveEvent(QMouseEvent *event);
    15.  
    16. private:
    17. int indexHighlighted;
    18.  
    19. QStringList colors;
    20.  
    21. int widthCount;
    22. int heightCount;
    23. QRect* boxSize;
    24.  
    25. };
    26.  
    27.  
    28.  
    29.  
    30.  
    31. ColorPanel::ColorPanel( QWidget* parent ) :
    32. QWidget( parent )
    33. {
    34. indexHighlighted = -1;
    35.  
    36. setMouseTracking(true);
    37.  
    38. widthCount = 15;
    39. heightCount = 15;
    40. boxSize = new QRect(0, 0, 7, 7);
    41.  
    42. colors<<"FFFFFF"<<"FFFAFA"<<"FFF68F"<<"FFEFD5"<<"FFE4E1"<<"FFDEAD"<<"FFC1C1"<<"FFB90F"<<"FFA54F "<<"FF8C00 "<<"FF7F50 "<<"FF6EB4 "<<"FF4500 "<<"FF3030 "<<"FDF5E6 "<<"FAF0E6 "<<"F7F7F7 "<<"F5DEB3 "<<"F0FFFF "<<"F0E68C "<<"EEEE00 "<<"EEE8AA "<<"EEDFCC "<<"EED5B7 "<<"EEC900 "<<"EEAEEE "<<"EE9A49 "<<"EE8262 "<<"EE7621 "<<"EE6363 "<<"EE3A8C "<<"EE00EE "<<"EAEAEA "<<"E5E5E5 "<<"E0EEE0 "<<"DEB887 "<<"DBDBDB "<<"D9D9D9 "<<"D3D3D3 "<<"D1D1D1 "<<"CDCDC1 "<<"CDC9A5 "<<"CDC1C5 "<<"CDB7B5 "<<"CDAF95 "<<"CD9B1D "<<"CD8C95 "<<"CD7054 "<<"CD661D "<<"CD5B45 "<<"CD3333 "<<"CD1076 "<<"CAFF70 "<<"C71585 "<<"C4C4C4 "<<"C1CDC1 "<<"BFBFBF "<<"BDB76B "<<"BBFFFF "<<"B8B8B8 "<<"B4EEB4 "<<"B3B3B3 "<<"B0E2FF "<<"B03060 "<<"ADADAD "<<"A9A9A9 "<<"A4D3EE "<<"A1A1A1 "<<"9F79EE "<<"9B30FF "<<"9A32CD "<<"98F5FF "<<"949494 "<<"912CEE "<<"8EE5EE "<<"8DEEEE "<<"8B8B7A "<<"8B8878 "<<"8B8378 "<<"8B7D6B "<<"8B7500 "<<"8B668B "<<"8B5A2B "<<"8B4789 "<<"8B4500 "<<"8B3626 "<<"8B1C62 "<<"8B0000 "<<"87CEFF "<<"858585 "<<"838B83 "<<"7FFF00 "<<"7D7D7D "<<"7B68EE "<<"7A67EE "<<"778899 "<<"737373 "<<"707070 "<<"6CA6CD "<<"6A5ACD "<<"6959CD "<<"66CD00 "<<"63B8FF "<<"5F9EA0 "<<"5C5C5C "<<"556B2F "<<"548B54 "<<"525252 "<<"4EEE94 "<<"4A4A4A "<<"474747 "<<"458B00 "<<"424242 "<<"3D3D3D "<<"388E8E "<<"333333 "<<"2E8B57 "<<"282828 "<<"228B22 "<<"1F1F1F "<<"1C1C1C "<<"171717 "<<"0F0F0F "<<"050505 "<<"00FF00 "<<"00EE76 "<<"00CDCD "<<"00BFFF "<<"008B45 "<<"006400 "<<"0000AA"
    43. <<"FFFFF0 "<<"FFFAF0 "<<"FFF5EE "<<"FFEC8B "<<"FFE4C4 "<<"FFDAB9 "<<"FFC125 "<<"FFB6C1 "<<"FFA500 "<<"FF83FA "<<"FF7F24 "<<"FF6A6A "<<"FF4040 "<<"FF1493 "<<"FCFCFC "<<"FAEBD7 "<<"F5FFFA "<<"F4F4F4 "<<"F0FFF0 "<<"F08080 "<<"EEE9E9 "<<"EEE685 "<<"EEDC82 "<<"EED2EE "<<"EEC591 "<<"EEAD0E "<<"EE9A00 "<<"EE7AE9 "<<"EE7600 "<<"EE5C42 "<<"EE30A7 "<<"EE0000 "<<"E9967A "<<"E3E3E3 "<<"E0E0E0 "<<"DDA0DD "<<"DB7093 "<<"D8BFD8 "<<"D2B48C "<<"D15FEE "<<"CDCDB4 "<<"CDC8B1 "<<"CDC0B0 "<<"CDB79E "<<"CDAD00 "<<"CD96CD "<<"CD853F "<<"CD69C9 "<<"CD6600 "<<"CD5555 "<<"CD3278 "<<"CD00CD "<<"CAE1FF "<<"C6E2FF "<<"C2C2C2 "<<"C1C1C1 "<<"BF3EFF "<<"BCEE68 "<<"BABABA "<<"B8860B "<<"B4CDCD "<<"B2DFEE "<<"B0E0E6 "<<"AEEEEE "<<"ABABAB "<<"A8A8A8 "<<"A3A3A3 "<<"A0522D "<<"9E9E9E "<<"9AFF9A "<<"999999 "<<"97FFFF "<<"9400D3 "<<"90EE90 "<<"8E8E8E "<<"8DB6CD "<<"8B8B00 "<<"8B8682 "<<"8B814C "<<"8B7B8B "<<"8B7355 "<<"8B6508 "<<"8B5A00 "<<"8B475D "<<"8B3E2F "<<"8B2500 "<<"8B1A1A "<<"8A8A8A "<<"87CEFA "<<"848484 "<<"836FFF "<<"7F7F7F "<<"7D26CD "<<"7AC5CD "<<"7A378B "<<"76EEC6 "<<"71C671 "<<"6E8B3D "<<"6C7B8B "<<"698B69 "<<"68838B "<<"668B8B "<<"636363 "<<"5E5E5E "<<"5B5B5B "<<"555555 "<<"545454 "<<"515151 "<<"4D4D4D "<<"48D1CC "<<"473C8B "<<"454545 "<<"4169E1 "<<"3CB371 "<<"383838 "<<"32CD32 "<<"2E2E2E "<<"27408B "<<"218868 "<<"1E90FF "<<"1A1A1A "<<"141414 "<<"0D0D0D "<<"030303 "<<"00FA9A "<<"00EE00 "<<"00CD66 "<<"00B2EE "<<"008B00 "<<"0000FF "<<"00008B"
    44. <<"FFFFE0 "<<"FFFACD "<<"FFF0F5 "<<"FFEBCD "<<"FFE4B5 "<<"FFD700 "<<"FFC0CB "<<"FFB5C5 "<<"FFA07A "<<"FF82AB "<<"FF7F00 "<<"FF69B4 "<<"FF3E96 "<<"FF00FF "<<"FAFAFA "<<"FA8072 "<<"F5F5F5 "<<"F4A460 "<<"F0F8FF "<<"EEEEE0 "<<"EEE9BF "<<"EEE5DE "<<"EED8AE "<<"EECFA1 "<<"EEB4B4 "<<"EEA9B8 "<<"EE9572 "<<"EE799F "<<"EE6AA7 "<<"EE4000 "<<"EE2C2C "<<"EDEDED "<<"E8E8E8 "<<"E0FFFF "<<"E066FF "<<"DCDCDC "<<"DAA520 "<<"D6D6D6 "<<"D2691E "<<"D02090 "<<"CDCD00 "<<"CDC673 "<<"CDBE70 "<<"CDB5CD "<<"CDAA7D "<<"CD950C "<<"CD8500 "<<"CD6889 "<<"CD6090 "<<"CD4F39 "<<"CD2990 "<<"CD0000 "<<"C9C9C9 "<<"C67171 "<<"C1FFC1 "<<"C0FF3E "<<"BEBEBE "<<"BCD2EE "<<"BA55D3 "<<"B7B7B7 "<<"B452CD "<<"B23AEE "<<"B0C4DE "<<"ADFF2F "<<"AB82FF "<<"A6A6A6 "<<"A2CD5A "<<"A020F0 "<<"9C9C9C "<<"9ACD32 "<<"9932CC "<<"96CDCD "<<"9370DB "<<"8FBC8F "<<"8E8E38 "<<"8C8C8C "<<"8B8989 "<<"8B864E "<<"8B7E66 "<<"8B795E "<<"8B6969 "<<"8B636C "<<"8B5742 "<<"8B4726 "<<"8B3A62 "<<"8B2323 "<<"8B0A50 "<<"8A2BE2 "<<"87CEEB "<<"8470FF "<<"828282 "<<"7EC0EE "<<"7CFC00 "<<"7A8B8B "<<"79CDCD "<<"76EE00 "<<"7171C6 "<<"6E7B8B "<<"6B8E23 "<<"698B22 "<<"68228B "<<"666666 "<<"616161 "<<"5D478B "<<"595959 "<<"551A8B "<<"53868B "<<"4F94CD "<<"4B0082 "<<"4876FF "<<"4682B4 "<<"43CD80 "<<"40E0D0 "<<"3B3B3B "<<"36648B "<<"303030 "<<"2B2B2B "<<"262626 "<<"212121 "<<"1E1E1E "<<"191970 "<<"121212 "<<"0A0A0A "<<"00FFFF "<<"00F5FF "<<"00E5EE "<<"00CD00 "<<"009ACD "<<"00868B "<<"0000EE "<<"000080"
    45. <<"FFFF00 "<<"FFF8DC "<<"FFEFDB "<<"FFE7BA "<<"FFE1FF "<<"FFD39B "<<"FFBBFF "<<"FFAEB9 "<<"FF8C69 "<<"FF8247 "<<"FF7256 "<<"FF6347 "<<"FF34B3 "<<"FF0000 "<<"FAFAD2 "<<"F8F8FF "<<"F5F5DC "<<"F2F2F2 "<<"F0F0F0 "<<"EEEED1 "<<"EEE8CD "<<"EEE0E5 "<<"EED5D2 "<<"EECBAD "<<"EEB422 "<<"EEA2AD "<<"EE82EE "<<"EE7942 "<<"EE6A50 "<<"EE3B3B "<<"EE1289 "<<"EBEBEB "<<"E6E6FA "<<"E0EEEE "<<"DEDEDE "<<"DC143C "<<"DA70D6 "<<"D4D4D4 "<<"D1EEEE "<<"CFCFCF "<<"CDC9C9 "<<"CDC5BF "<<"CDBA96 "<<"CDB38B "<<"CD9B9B "<<"CD919E "<<"CD8162 "<<"CD6839 "<<"CD5C5C "<<"CD3700 "<<"CD2626 "<<"CCCCCC "<<"C7C7C7 "<<"C5C1AA "<<"C1CDCD "<<"BFEFFF "<<"BDBDBD "<<"BC8F8F "<<"B9D3EE "<<"B5B5B5 "<<"B3EE3A "<<"B22222 "<<"B0B0B0 "<<"ADD8E6 "<<"AAAAAA "<<"A52A2A "<<"A2B5CD "<<"9FB6CD "<<"9BCD9B "<<"9AC0CD "<<"98FB98 "<<"969696 "<<"919191 "<<"8F8F8F "<<"8E388E "<<"8B8B83 "<<"8B8970 "<<"8B8386 "<<"8B7D7B "<<"8B7765 "<<"8B6914 "<<"8B5F65 "<<"8B4C39 "<<"8B4513 "<<"8B3A3A "<<"8B2252 "<<"8B008B "<<"8968CD "<<"878787 "<<"838B8B "<<"7FFFD4 "<<"7D9EC0 "<<"7CCD7C "<<"7A7A7A "<<"787878 "<<"757575 "<<"708090 "<<"6E6E6E "<<"6B6B6B "<<"696969 "<<"66CDAA "<<"6495ED "<<"607B8B "<<"5CACEE "<<"575757 "<<"54FF9F "<<"528B8B "<<"4F4F4F "<<"4A708B "<<"483D8B "<<"458B74 "<<"436EEE "<<"404040 "<<"3A5FCD "<<"363636 "<<"2F4F4F "<<"292929 "<<"242424 "<<"20B2AA "<<"1C86EE "<<"1874CD "<<"104E8B "<<"080808 "<<"00FF7F "<<"00EEEE "<<"00CED1 "<<"00C5CD "<<"008B8B "<<"00688B "<<"0000CD "<<"000000";
    46. }
    47.  
    48.  
    49. void ColorPanel::paintEvent(QPaintEvent *event)
    50. {
    51. QPainter painter(this);
    52.  
    53. int colorsCount=0;
    54.  
    55. for (int i=0;i<widthCount;i++)
    56. {
    57. for (int j=0;j<heightCount;j++)
    58. {
    59. if (colorsCount<colors.count())
    60. {
    61. painter.setPen(Qt::NoPen);
    62. painter.setBrush(QBrush(QColor("#"+colors[colorsCount].trimmed())));
    63. painter.drawRect(i*boxSize->width(),j*boxSize->height(),boxSize->width(),boxSize->height());
    64.  
    65. //draw a highlight for hovered item
    66. if( indexHighlighted == colorsCount )
    67. {
    68. QColor outline(palette().foreground().color());
    69. outline.setAlpha( 64 );
    70. painter.setPen( outline );
    71. painter.setBrush(Qt::NoBrush);
    72. painter.drawRect( (i*boxSize->width()),(j*boxSize->height()),boxSize->width()-1,boxSize->height()-1);
    73. }
    74. }
    75. colorsCount++;
    76. }
    77. }
    78. }
    79.  
    80.  
    81. void ColorPanel::mouseMoveEvent( QMouseEvent *event )
    82. {
    83. QPoint pointMouseMove = event->pos();
    84.  
    85. int column = pointMouseMove.x() / boxSize->width();
    86. int row = pointMouseMove.y() / boxSize->height();
    87.  
    88. column = qBound( 0, column, widthCount-1 );
    89. row = qBound( 0, row, heightCount-1 );
    90.  
    91. int newIndex = (column * heightCount) + row;
    92.  
    93. if ( newIndex != indexHighlighted )
    94. {
    95. //qDebug() <<"ColorPanel::mouseMoveEvent"<<pointMouseMove<<" - ("<<column<<row<<") maps to "<<newIndex<<"of"<<colors.count()<<"..."<<colors[newIndex];
    96. indexHighlighted = newIndex;
    97. update();
    98. emit indexHighlightedChanged( indexHighlighted );
    99. emit colorHighlightedChanged( QColor("#"+colors[indexHighlighted].trimmed()) );
    100. }
    101. }
    To copy to clipboard, switch view to plain text mode 
    Last edited by ymalaika; 24th December 2010 at 17:22.

Similar Threads

  1. Mouse move inside control/Widget
    By squidge in forum Newbie
    Replies: 0
    Last Post: 27th September 2009, 16:56
  2. How to move the mouse ?
    By shad0w in forum Newbie
    Replies: 3
    Last Post: 2nd November 2008, 13:55
  3. Replies: 7
    Last Post: 14th October 2007, 22:04
  4. Mouse Move Event
    By merry in forum Newbie
    Replies: 5
    Last Post: 3rd June 2007, 06:26
  5. Move Rectangle on mouse Move
    By vermarajeev in forum Qt Programming
    Replies: 24
    Last Post: 14th May 2007, 05:34

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.