[Interest] Build a Photos(Mac) copy with Qt Widgets
Igor Mironchik
igor.mironchik at gmail.com
Wed Jan 20 16:15:56 CET 2016
Look at this example:
#include <QApplication>
#include <QListView>
#include <QStringListModel>
#include <QStyledItemDelegate>
#include <QPainter>
class Delegate
: public QStyledItemDelegate
{
public:
Delegate()
{
}
void paint( QPainter * painter, const QStyleOptionViewItem & option,
const QModelIndex & index ) const
{
painter->drawText( option.rect, index.data().toString() );
}
QSize sizeHint( const QStyleOptionViewItem &,
const QModelIndex &) const
{
return QSize( 50, 50 );
}
};
int main( int argc, char ** argv )
{
QApplication app( argc, argv );
QListView view;
view.setFlow( QListView::LeftToRight );
view.setResizeMode( QListView::Adjust );
view.setWrapping( true );
Delegate delegate;
view.setItemDelegate( &delegate );
QStringListModel model;
QStringList items;
for( int i = 0; i < 100; ++i )
items.append( QString::number( i ) );
model.setStringList( items );
view.setModel( &model );
view.show();
return app.exec();
}
On 20.01.2016 17:52, Hualet Wang wrote:
> Really ? That’s quite good enough for me if it’s true. Thank you for you suggestion, I’ll check
> it out. :D
>
>> 在 2016年1月20日,下午10:48,Igor Mironchik <igor.mironchik at gmail.com> 写道:
>>
>> Hi,
>>
>> On 20.01.2016 17:09, Hualet Wang wrote:
>>>> And one more, what about QTableWidget with icons? And why you decided that QTableView will not do the trick?
>>> Because I’m not sure if QTableView is capable of re-layouting the items after I delete one or more cells from it. And that’s the whole point of my question.
>> Even more: you can use QListView with flow QListView::LeftToRight with resizeMode QListView::Adjust and proper delegate... And you are happy. Items will relayout automatically... And will be placed in the table...
>>
>>>> And QtMWidgets is for touch-devices...
>>> I’m not targeting touch devices. The application will run on Linux.
More information about the Interest
mailing list