QTreeWidget items sind zu klein

Alles rund um die Programmierung mit Qt
Antworten
defenderLQ
Beiträge: 156
Registriert: 27. Juli 2006 20:53

QTreeWidget items sind zu klein

Beitrag von defenderLQ »

hi

also es gibt problem das ich nicht habe aber ein freund von mir...
der hat die gleichen sourcen wie ich,
und bei seinem binary sind die QTreeWidget items in bestimmten dialogen all zu klein.
und bei mir sind die alle richtig bei meiner compilierten windows binary..

liegts nun an der .ui oder in der cpp`?

die funktion in die items in das treewidget geaddet werden...
die items sind in der .ui verfügbar.

Code: Alles auswählen

* get the list of Neighbours from the RsIface.  */
void ConnectionsDialog::insertConnect()
{
        rsiface->lockData(); /* Lock Interface */

        std::map<RsCertId,NeighbourInfo>::const_iterator it;
        const std::map<RsCertId,NeighbourInfo> &neighs = 
				rsiface->getNeighbourMap();

	/* get a link to the table */
        QTreeWidget *connectWidget = ui.connecttreeWidget;

	/* remove old items ??? */
	connectWidget->clear();
	connectWidget->setColumnCount(7);

        QList<QTreeWidgetItem *> items;
	for(it = neighs.begin(); it != neighs.end(); it++)
	{
		/* make a widget per friend */
           	QTreeWidgetItem *item = new QTreeWidgetItem((QTreeWidget*)0);

		/* add all the labels */

		/* (0) Accept/Deny */
                item -> setText(0, QString::fromStdString(it->second.acceptString));
		/* (1) Trust Level */
                item -> setText(1, QString::fromStdString(it->second.trustString));
		/* (2) Last Connect */
                item -> setText(2, QString::fromStdString(it->second.lastConnect));
                /* (3) Person */
		item -> setText(3, QString::fromStdString(it->second.name));

		/* Others */
		item -> setText(4, QString::fromStdString(it->second.org));
		item -> setText(5, QString::fromStdString(it->second.loc));
		item -> setText(6, QString::fromStdString(it->second.country));

                /* (4) Peer Address */
                item -> setText(7, QString::fromStdString(it->second.peerAddress));
		{
			std::ostringstream out;
			out << it -> second.id;
			item -> setText(8, QString::fromStdString(out.str()));
		}
		item -> setText(9, QString::fromStdString(it->second.authCode));

		/* add to the list */
		items.append(item);
	}

	/* add the items in! */
	connectWidget->insertTopLevelItems(0, items);

	rsiface->unlockData(); /* UnLock Interface */

	connectWidget->update(); /* update display */

}

http://img256.imageshack.us/img256/3948 ... getpy1.png

im .ui siehts jedenfalls ganz normal aus....
Bild

im binary vom freund:
Bild
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Re: QTreeWidget items sind zu klein

Beitrag von patrik08 »

defenderLQ hat geschrieben:hi
also es gibt problem das ich nicht habe aber ein freund von mir...
der hat die gleichen sourcen wie ich,
und bei seinem binary sind die QTreeWidget items in bestimmten dialogen all zu klein.
Es sieht nach unterscheidliche bildschirmaufloesung aus ... wenn der monitor
+ als 2000 pixel hat ... dann muss ja alles kleiner sein...

ansonst kann man delegate geben, zu den tree...

mit ....

QRect screenSize = qApp->desktop()->availableGeometry();

int breite = screenSize.width()

kann man die auflosung rausfinden und die delegate entsprechend vergroessern ...... einfach 1024 als 100% nehmen....

http://doc.trolltech.com/4.1/qitemdelegate.html

Code: Alles auswählen

class ItemDelegate : public QItemDelegate
{
public:
        ItemDelegate()
        {
        }
        
        QSize sizeHint ( const QStyleOptionViewItem & option, const QModelIndex & index ) const 
        {
               int cooler = index.column();
               ///////////////qDebug() << "### kolonne " << cooler;
               if (cooler == 0) {
                  return QSize(200,22); 
               } else {
                  return QSize(22,22);
               } 
        }  
};

.........................
speack português italiano deutsch english castellà qt
Antworten