Thursday, November 20th 2008, 11:56am UTC

You are not logged in.

  • Login
  • Register

Dear visitor, welcome to QtForum.org. If this is your first visit here, please read the Help. It explains how this page works. You must be registered before you can use all the page's features. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

syee

Beginner

1

Tuesday, May 6th 2008, 5:33pm

QTreeWidget and Persistent Editor problem

Hello,

I have some very simple code that places QToolButtons in some cells in a QTreeWidget. The problem is that I use a persistent editor to place QToolButtons in 2 columns, then move column 0 to column 2 (there are 4 columns in total). On a x64 release build, this results in two buttons being drawn *on top* of each other. (screencap attached)

It works fine when compiled as a 32bit application, but does not work properly with compiled as a x64 application. Strangely, my x64 debug build of the application also works as I expect.

This is using Qt 4.3.4 on a WinXp Pro x64 SP2 machine with the vs2005 compiler.

The sample code looks like this:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class tempEdit2 : public QItemDelegate
{
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem & option, const QModelIndex &index) const
{
	return new QToolButton(parent);
};

};

int main(int argc, char** argv) {

	QApplication app(argc,argv);
	QMainWindow w;

	QTreeWidget* mWidget = new QTreeWidget( qApp->mainWidget() );

	mWidget->setColumnCount(4);
	mWidget->setItemDelegate( new tempEdit2 );

	mWidget->header()->moveSection( 0, 2 );
	mWidget->show();

	QTreeWidgetItem* item = new QTreeWidgetItem( mWidget, QTreeWidgetItem::Type );
	mWidget->openPersistentEditor(item,1);
	mWidget->openPersistentEditor(item,2);

	w.show();
	app.exec();
}
syee has attached the following file:
  • colBug.png (37.05 kB - 37 times downloaded - Last download: Nov 18th 2008, 1:27am)
  • Go to the top of the page

Rate this thread