qt4 - QListView width -
i writing file manager, , display icons via qlistview. want able change grid size depending on qlistview size, in dolphin. (in dolphin changing window size, changes grid size). have tried getting qlistview::size(), qlistview::sizehint(), qlistview::minimumsizehint() , not fixed values qsize( 256, 192 ) every single time.
so there proper way obtain width of qlistview?
edit: edit question as: there way width of qlistview inside member functions? did try getting size as
mylistview lv = new mylistview() qdebug() << lv.size(); that gives exact size. not:
void mylistview::somememberfunction() { ... ... qdebug() << size(); ... ... ... } so should reimplement working right?
have tried reimplement showevent ( qshowevent * event ) or paintevent ( qpaintevent * event ) of qlistview , size of widget these functions?
here way. 1. create event-filter
class event_filter : public qobject { q_object public: explicit event_filter(qobject *parent = 0); signals: void table_resize();// protected: virtual bool eventfilter(qobject *, qevent *);// public slots: }; bool event_filter::eventfilter(qobject *pobject, qevent *pevent) { if (!pobject) return false; if(pevent -> type() == qevent::resize) { emit table_resize(); return true; } return false; } mainwindow code
table_filter = new event_filter(); connect(table_filter,signal(table_resize()),this,slot(slot_table_resize())); installeventfilter(table_filter);slot code
void mainwindow::slot_table_resize() { //resizing table headers if ((items_table_w != ui -> itemstable -> viewport() -> width()) || (ui -> itemstable -> columnwidth(devtable_column_device) <= 0)) ...... }
this work fine me.
Comments
Post a Comment