On 09.08.08 18:12:12, Roberto Alsina wrote: > On Saturday 09 August 2008 15:57:01 Andreas Pakulat wrote: > > On 09.08.08 14:09:17, Roberto Alsina wrote: > > > On Saturday 09 August 2008 09:40:31 Andreas Pakulat wrote: > > > > On 08.08.08 19:42:19, Roberto Alsina wrote: > > > > > On Friday 08 August 2008 18:43:12 Andreas Pakulat wrote: > > > > > > On 08.08.08 16:36:35, Roberto Alsina wrote: > > > > > > > I don't know how to explain it, si I have to use pictures. > > > > > > > > > > > > Are you talking about the cut-off menu items? Or what? Which parts > > > > > > of the pictures should we look into/ > > > > > > > > > > Cutoff menu items, varying font sizes, the "Search" label, even the > > > > > left qtreeview's header is weird. > > > > > > > > > > Loos like font metrics were all cray. > > > > > > > > Hmm, can you produce a small example that demonstrates the problem? Its > > > > quite weird that loading an icon in a different way has such an effect. > > > > I'm suspecting a bit that this might be an issue on your machine, so it > > > > would be good to test it on other machines/different setups. > > > > > > Attached is an example, and it got even weirder. > > > > > > 1) It doesn't depend on actually using the QIcon, only on creating it > > > before there's a QApplication. > > > > Thats a bug in your application, Qt doesn't support doing much - if > > anything at all - with it until a QApp is created. > > Sure, but it's a bug that should give an error instead of messing the UI :-) > > > > 2) On windows you can't do that. (gives an error "Must construct a > > > QApplication before a QPaintDevice" which looks reasonable to me) [Qt > > > 4.4.1] > > > > > > 3) On Arch Linux I get cutoff menus and small fonts on the QTreeView > > > [4.4.1] > > > > Indeed. I can confirm the problem, however it only appears with the > > complete example. Just using a static QIcon before creating a QApp > > doesn't produce it (i.e. just creating a mainwindow and adding a few > > menus is not triggering the problem). So I can just guess its got > > something to do with the icon + .ui file. > > I tested it with several different SVG icons and the behaviour is the same. > > The UI file is created with designer, just a menu with three items and a > treewidget, no properties set on anything. > > > I also noticed that Qt and PyQt bail out if you use actual files in the > > filesystem, as opposed to resources. > > That's interesting. > > I am leaning now towards believing it's a unix-specific Qt bug and not a PyQt > bug. I should do a C++ project to test it (ugh)
Here are some more observations: - loading the .svg from the disk also breaks the ui, so you can leave out the .qrc stuff - one component less that could be the cause - as I said before one needs to use a .ui file and apparently it needs to have a QAbstractItemView in the mainwindow, without it its also not showing the problem. So alltogether attached is a c++ app that reproduces the problem, feel free to use that when sending a bugreport to TT. (the main.cpp and .ui file can just be placed into an empty dir and then qmake -project;qmake;make can be run to build the app) Andreas -- A day for firm decisions!!!!! Or is it?
#include <QApplication> #include <QMainWindow> #include <QIcon> #include <QDirModel> #include "ui_myui.h" static QIcon ic("/home/andreas/temp/bug_demo_cpp/folder.svg"); int main(int argc, char** argv) { QApplication app(argc,argv); QMainWindow* mainWindow = new QMainWindow(); Ui::MainWindow bug; bug.setupUi(mainWindow); QDirModel* model = new QDirModel(); bug.treeView->setModel(model); mainWindow->show(); app.exec(); }
<ui version="4.0" > <class>MainWindow</class> <widget class="QMainWindow" name="MainWindow" > <property name="geometry" > <rect> <x>0</x> <y>0</y> <width>800</width> <height>600</height> </rect> </property> <property name="windowTitle" > <string>MainWindow</string> </property> <widget class="QWidget" name="centralwidget" > <property name="geometry" > <rect> <x>0</x> <y>27</y> <width>800</width> <height>549</height> </rect> </property> <layout class="QGridLayout" name="gridLayout" > <item row="0" column="0" > <widget class="QTableView" name="treeView" /> </item> </layout> </widget> <widget class="QMenuBar" name="menubar" > <property name="geometry" > <rect> <x>0</x> <y>0</y> <width>800</width> <height>27</height> </rect> </property> <widget class="QMenu" name="menuDoo" > <property name="title" > <string>Doo</string> </property> <addaction name="actionNfd" /> </widget> <widget class="QMenu" name="menuBar" > <property name="title" > <string>Bar</string> </property> </widget> <addaction name="menuDoo" /> <addaction name="menuBar" /> </widget> <widget class="QStatusBar" name="statusbar" > <property name="geometry" > <rect> <x>0</x> <y>576</y> <width>800</width> <height>24</height> </rect> </property> </widget> <action name="actionNfd" > <property name="text" > <string>nfd</string> </property> </action> </widget> <resources/> <connections/> </ui>
_______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt