随笔 - 70, 文章 - 0, 评论 - 9, 引用 - 0
数据加载中……

Qt常见问题01

1  问题:加上Q_OBJECT后出现undefined reference to错误。
    解决:重新编译。
    其他:信号槽的生效需要Q_OBJECT的支撑。

2  问题:如何弹出对话框。
    解决:继承QDialog,然后通过对象的exec来弹出。
    分析:QWidget的模式与非模式区别:非模式窗口就是运行在应用程序中,对于任何其他窗口都是独立窗口,用show()调用。模式窗口就是当它被调用而弹出的时候,它会阻塞这个应用程序,直到这个窗口被关闭,发生的其他任何处理或者交互才能继续运行,用exec()调用。

3  问题:std::string与QString转换。
    解决:QString qstring = "Test String";
                string stlstring = qstring.latin1()
                QString qsecond = stlstring.c_str();
                QString qstr = QString::fromStdString(str);

4  QLabel根据字符的长度决定是否显示省略号"..."。
   
    QFont font(ui->label->font());
    QFontMetrics fm(font);
    ui
->label->setText(fm.elidedText(aaa, Qt::ElideRight, ui->label->width());

5  QGridLayout与控件的高度问题
用QGridLayout来调整布局,在设置了QGridLayout的layoutRowMinimumHeight为25后,其中部分控件的高度仍然没有25。
QLabel:25,QDateEdit:20,QLineEdit:20,QComboBox:20
解决方法:
将QDateEdit,QLineEdit,QComboBox的属性sizePolicy的垂直策略修改为Expanding即可。

posted on 2011-03-01 17:06 seahouse 阅读(1439) 评论(0)  编辑 收藏 引用 所属分类: Qt


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理