• 14623阅读
  • 0回复

[提问]qlistwidget控件自动换行后出现首行空白奇异现象。 [复制链接]

上一主题 下一主题
离线eflong
 
只看楼主 倒序阅读 楼主  发表于: 2011-08-17
    各位大虾,小弟刚用qt,qlistwidget控件出现怪异现象,望各位给帮忙呀。
    本人开发版本qt4.6.3,使用linux下qt creator。在一窗口内添加listwidget 控件,在其初始化函数中添加item,运行、显示一切正常,但是当设置为自动换行后,qlistwidget控件顶行显示空白(见下图),百思不得其解,

代码如下:

UI_windows1.h
class Ui_Windosw1
{
QListWidget *listWidget;

void setupUi(QWidget *Windows1)
{
  listWidget = new QListWidget(Windows1);
        listWidget->setObjectName(QString::fromUtf8("listWidget"));
        listWidget->setGeometry(QRect(10, 40, 760, 450));
        QFont font2;
        font2.setFamily(QString::fromUtf8("\351\273\221\344\275\223"));
        font2.setPointSize(10);
        font2.setStyleStrategy(QFont::NoAntialias);
        listWidget->setFont(font2);
        listWidget->setFocusPolicy(Qt::NoFocus);
        listWidget->setStyleSheet(QString::fromUtf8("alternate-background-color: rgb(203, 255, 254);"));
        listWidget->setFrameShape(QFrame::Box);
        listWidget->setFrameShadow(QFrame::Plain);
        listWidget->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        listWidget->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
        listWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
        listWidget->setTabKeyNavigation(false);
        listWidget->setProperty("showDropIndicator", QVariant(false));
        listWidget->setAlternatingRowColors(true);
        listWidget->setSelectionMode(QAbstractItemView::NoSelection);
        listWidget->setResizeMode(QListView::Adjust);
        listWidget->setGridSize(QSize(760, 36));
        //自动换行
        listWidget->setFlow(QListView::LeftToRight);
        listWidget->setProperty("isWrapping", QVariant(true));
        listWidget->setWordWrap(true);
}
}
windows1.cpp
Windows1::Windows1
{
const char * str1  ="001  啊啊啊啊......";
const char * str2  ="002  啊啊啊啊......";
....
    QListWidgetItem *lst1 =new QListWidgetItem(QApplication::translate("", str1, 0, QApplication::UnicodeUTF8));
QListWidgetItem *lst2 =new QListWidgetItem(QApplication::translate("", str1, 0, QApplication::UnicodeUTF8));

....
    ui->listWidget->insertItem(1,lst1);
    ui->listWidget->insertItem(2,lst2);
    ui->listWidget->insertItem(3,lst3);
    ui->listWidget->insertItem(4,lst4);
    ui->listWidget->insertItem(5,lst5);
    ui->listWidget->insertItem(6,lst6);
    ui->listWidget->insertItem(7,lst7);
    ui->listWidget->insertItem(8,lst8);
    ui->listWidget->insertItem(9,lst9);
    ui->listWidget->insertItem(10,lst10);
    ui->listWidget->insertItem(11,lst11);
    ui->listWidget->insertItem(12,lst12);
    ui->listWidget->insertItem(13,lst13);
    ui->listWidget->insertItem(14,lst14);
    ui->listWidget->insertItem(15,lst15);
    ui->listWidget->insertItem(16,lst16);
    ui->listWidget->insertItem(17,lst17);
    ui->listWidget->insertItem(18,lst18);
    ui->listWidget->insertItem(19,lst19);
    ui->listWidget->insertItem(20,lst20);
    ui->listWidget->insertItem(21,lst21);
    ui->listWidget->insertItem(22,lst22);
    ui->listWidget->insertItem(23,lst23);
    ui->listWidget->show();
}
望各位给指点下,谢谢。
快速回复
限100 字节
 
上一个 下一个