• 2562阅读
  • 6回复

[提问]求大神,无法转换参数类型 [复制链接]

上一主题 下一主题
离线alonerain
 

只看楼主 倒序阅读 楼主  发表于: 2017-02-24
工程名:FIND对话框
finddailog.pro
  1. HEADERS += \
  2.     finddialog.h
  3. SOURCES += \
  4.     finddialog.cpp

finddailog.h
  1. #ifndef FINDDIALOG_H
  2. #define FINDDIALOG_H
  3. #include <QtWidgets/QDialog>
  4. class QCheckBox;
  5. class QLabel;
  6. class QLineEdit;
  7. class QPushButton;
  8. class FindDialog : public QDialog
  9. {
  10.     Q_OBJECT
  11. public :
  12.     FindDialog(QWidget *parent = 0);
  13. signals :
  14.     void findNext(const QString &str,Qt::CaseSensitivity cs);
  15.     void findPrevious(const QString &str,Qt::CaseSensitivity cs);
  16. private slots :
  17.     void findChicked();
  18.     void enableFindButton(const QString &text);
  19. private :
  20.     QLabel *label;
  21.     QLineEdit *lineEdit;
  22.     QCheckBox *caseCheckBox;
  23.     QCheckBox *backwardCheckBox;
  24.     QPushButton *findButton;
  25.     QPushButton *closeButton;
  26. };
  27. #endif // FINDDIALOG_H
finddailog.cpp
  1. #include <QtGui>
  2. #include "finddialog.h"
  3. #include <QtWidgets/QLayout>
  4. #include <QtWidgets/QLabel>
  5. #include <QtWidgets/QLineEdit>
  6. #include <QtWidgets/QCheckBox>
  7. #include <QtWidgets/QPushButton>
  8. #include <QtWidgets/QLayoutItem>
  9. FindDialog::FindDialog(QWidget *parent) : QDialog(parent)
  10. {
  11.     label = new QLabel(tr("Find &what:"));
  12.     lineEdit = new QLineEdit;
  13.     label -> setBuddy(lineEdit);
  14.     caseCheckBox = new QCheckBox(tr("Match &case"));
  15.     backwardCheckBox = new QCheckBox(tr("Search &backward"));
  16.     findButton = new QPushButton(tr("&Cind"));
  17.     findButton -> setDefault(true);
  18.     findButton -> setEnabled(false);
  19.     closeButton = new QPushButton(tr("Close"));
  20.     connect(lineEdit,SIGNAL(textChanged(const QString &)),
  21.             this,SLOT(enableFindButton(const QString &)));
  22.     connect(findButton,SIGNAL(clicked()),
  23.             this,SLOT(findChicked()));
  24.     connect(closeButton,SIGNAL(clicked()),
  25.             this,SLOT(close()));
  26.     QHBoxLayout *topLeftLayout = new QHBoxLayout;
  27.     topLeftLayout -> addWidget(label);
  28.     topLeftLayout -> addWidget(lineEdit);
  29.     QVBoxLayout *leftLayout = new QVBoxLayout;
  30.     leftLayout -> addLayout(topLeftLayout);
  31.     leftLayout -> addWidget(caseCheckBox);
  32.     leftLayout -> addWidget(backwardCheckBox);
  33.     QVBoxLayout *rightLayout = new QVBoxLayout;
  34.     rightLayout -> addLayout(findButton);
  35.     rightLayout -> addWidget(closeButton);
  36.     rightLayout -> addStretch();
  37.     QHBoxLayout *mainLayout = new QHBoxLayout;
  38.     mainLayout -> addLayout(leftLayout);
  39.     mainLayout -> addLayout(rightLayout);
  40.     setLayout(mainLayout);
  41. }

编译报错如下,求大神帮我看看。

离线dbzhang800

只看该作者 1楼 发表于: 2017-02-24
错误信息很明确了。

你想用 addLayout 添加布局(误写成了按钮),还是想添加按钮(误调了addLayout)?
离线alonerain

只看该作者 2楼 发表于: 2017-02-24
回 dbzhang800 的帖子
dbzhang800:
错误信息很明确了。
你想用 addLayout 添加布局(误写成了按钮),还是想添加按钮(误调了addLayout)?

谢谢版主,回版主的话,我是照着书上的例子打的。是想把FIND按钮添加到rightLayout中去。



离线alonerain

只看该作者 3楼 发表于: 2017-02-24
回 alonerain 的帖子
alonerain:
谢谢版主,回版主的话,我是照着书上的例子打的。是想把FIND按钮添加到rightLayout中去。
[图片]
.......

dbzhang800:
错误信息很明确了。

你想用 addLayout 添加布局(误写成了按钮),还是想添加按钮(误调了addLayout)?

谢谢版主,回版主的话,我是照着书上的例子打的。是想把FIND按钮添加到rightLayout中去。
[attachment=16551]
是应该这样吗?
  1. QVBoxLayout *rightLayout = new QVBoxLayout;
  2.     rightLayout -> addWidget(findButton);
  3.     rightLayout -> addWidget(closeButton);
  4.     rightLayout -> addStretch();




离线chunhuixihui

只看该作者 4楼 发表于: 2017-02-24
你用addwidget
离线never_forget

只看该作者 5楼 发表于: 2017-02-24
ZZ
离线alonerain

只看该作者 6楼 发表于: 2017-02-24
回 alonerain 的帖子
[quote]alonerain:

谢谢版主,回版主的话,我是照着书上的例子打的。是想把FIND按钮添加到rightLayout中去。
[attachment=16551]
是应该这样吗?
  1. QVBoxLayout *rightLayout = new QVBoxLayout;
  2. ....... [url=http://www.qtcn.org/bbs/job.php?action=topost&tid=62654&pid=179954][img]p_w_picpath/back.gif[/img][/url]
  3. [/quote]
  4. [quote][url=http://www.qtcn.org/bbs/u.php?username=alonerain]alonerain[/url][color=gray]:[/color]
  5. 谢谢版主,回版主的话,我是照着书上的例子打的。是想把FIND按钮添加到rightLayout中去。
  6. [p_w_upload=16551]
  7. ....... [url=http://www.qtcn.org/bbs/job.php?action=topost&tid=62654&pid=179953][img]p_w_picpath/back.gif[/img][/url]
  8. [/quote]
  9. [quote][url=http://www.qtcn.org/bbs/u.php?username=dbzhang800]dbzhang800[/url][color=gray]:[/color]
  10. 错误信息很明确了。
  11. 你想用 addLayout 添加布局(误写成了按钮),还是想添加按钮(误调了addLayout)? [url=http://www.qtcn.org/bbs/job.php?action=topost&tid=62654&pid=179952][img]p_w_picpath/back.gif[/img][/url]
  12. [/quote]
  13. 谢谢版主,回版主的话,我是照着书上的例子打的。是想把FIND按钮添加到rightLayout中去。
  14. [p_w_upload=16551]
  15. 是应该这样吗?
  16. [code]QVBoxLayout *rightLayout = new QVBoxLayout;
  17.     rightLayout -> addWidget(findButton);
  18.     rightLayout -> addWidget(closeButton);
  19.     rightLayout -> addStretch();


怎么改了后,又变成这样了,神马情况



快速回复
限100 字节
 
上一个 下一个