• 7201阅读
  • 4回复

[讨论]QInputDialog::getText 的最后一个参数怎么填 [复制链接]

上一主题 下一主题
离线tang_zj
 

只看楼主 倒序阅读 楼主  发表于: 2012-04-25
QT4.7.4

const char *str="JYQ";
bool ok =false;
QString header=QInputDialog::getText (this,tr("Input"),tr("INPUT TEXT"),QLineEdit::Normal,&str,&ok,0);


编译出现:no matching function for call to 'QInputDialog::getText(...
问题总是出在最后的参数 0这里,看书上不用也通不过。???
什么都没有留!
离线dbzhang800

只看该作者 1楼 发表于: 2012-04-25
多看看Manual吧

比如:你的 &str 是要做什么呢?
离线淳于半邪

只看该作者 2楼 发表于: 2012-04-25
Qt::WindowFlags flags = 0  
对话框按钮的设置格式,你不写该参数就是默认的QDialog的按钮格式
离线zzh12215
只看该作者 3楼 发表于: 2012-04-25
QString QInputDialog::getText ( QWidget * parent, const QString & title, const QString & label, QLineEdit::EchoMode mode = QLineEdit::Normal, const QString & text = QString(), bool * ok = 0, Qt::WindowFlags flags = 0, Qt::InputMethodHints inputMethodHints = Qt::ImhNone )

第7个参数Qt::WindowFlags flags = 0,默认值是0,但是它是枚举类型,必须是枚举类型Qt::WindowFlags ,比如Qt::Widget的值就是0,但是你必须写Qt::Widget,而不能是0.
离线tang_zj

只看该作者 4楼 发表于: 2012-04-26
&str 是想显示默认值为“JYQ”。

现在搞清楚了一点,要在有qWidget基类的情况下才能用!我原来是用在以qthread基类的类中,所以没法用。!
什么都没有留!
快速回复
限100 字节
 
上一个 下一个