请问一个QT标准INT输入框的小疑点
发布时间:2010-05-30 21:36:00 文章来源:www.iduyao.cn 采编人员:星星草
请教一个QT标准INT输入框的小问题
看书上的例子通过点击主界面的按钮弹出标准INT输入对话框,可是总是有异常自动退出,不知道为什么呢,麻烦大家帮帮忙 ,感激不尽了
上代码来:
dialog.h
#ifndef DIALOG_H
#define DIALOG_H
#include <QtGui/QDialog>
#include "inputdlg.h"
#include <QGridLayout>
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
private:
QPushButton *inputBtn;
InputDlg *inDlg;
QGridLayout *mainlayout;
private slots:
void showInputDlg();
};
#endif // DIALOG_H
//dialog.cpp
#include "dialog.h"
#include <QGridLayout>
#include <QPushButton>
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
inputBtn =new QPushButton;
inputBtn->setText(tr("awrwarfwaf"));
mainlayout->addWidget(inputBtn,2,0);
connect(inputBtn,SIGNAL(clicked()),this,SLOT(showInputDlg()));
}
void Dialog::showInputDlg()
{
inDlg=new InputDlg(this);
inDlg->show();
}
//inputdlg.h
#ifndef INPUTDLG_H
#define INPUTDLG_H
#include <QDialog>
#include <QLabel>
#include <QPushButton>
#include <QGridLayout>
class InputDlg : public QDialog
{
Q_OBJECT
public:
InputDlg(QWidget *parent = 0);
private slots:
void change();
private:
QLabel *time1;
QLabel *time2;
QPushButton *sztime;
QGridLayout *mainLayout;
};
#endif // INPUTDLG_H
//inputdlg.cpp
#include "inputdlg.h"
#include <QInputDialog>
InputDlg::InputDlg(QWidget *parent) :
QDialog(parent)
{
//setWindowTitle(tr("程序设置"));
time1=new QLabel;
time1->setText(tr("设置时间"));
time2=new QLabel;
time2->setText(tr("1"));
time2->setFrameStyle(QFrame::Panel|QFrame::Sunken);
sztime=new QPushButton;
sztime->setText(tr("设置"));
mainLayout->addWidget(time1,0,0);
mainLayout->addWidget(time2,0,1);
mainLayout->addWidget(sztime,0,2);
connect(sztime,SIGNAL(clicked()),this,SLOT(change()));
}
void InputDlg::change()
{
bool ok;
int t = QInputDialog::getInt(this,tr("设置自动播放时间"),tr("请输入时间:"),time2->text().toInt(&ok),0,100,1,&ok);
if (ok)
time2->setText(QString(tr("%1")).arg(t));
}
//main.cpp
#include <QtGui/QApplication>
#include "dialog.h"
#include <QTextCodec>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
Dialog w;
w.show();
return a.exec();
}
谢谢 ,谢谢大家咯,感激不尽
------解决方案--------------------
sztime->setText(tr("设置"));
mainLayout->addWidget(time1,0,0);
mainLayout->addWidget(time2,0,1);
mainLayout->addWidget(sztime,0,2);
仔细看,mainLayout同有new就使用了
------解决方案--------------------
在InputDlg的构造函数里面加上这句mainLayout=new QGridLayout;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
Qt Creator 2.1 Beta 2 和Qt 4.7.1 发布
转载:http://www.cmdn.net/news/1148
诺基亚发布了Qt框架的跨平台开发环境(IDE) –Qt Cre...
-
Qt菜单的显示问题
我的是在ubuntu11.10虚拟机上运行的qt creator4,现在刚入门,按照http://www.yafeilinux.com/?p=30的例子添加菜单...
-
'make' 不是内部或外部命令,也不是可运行的程序或批处理文件?
根据HTML code
http://v.youku.com/v_show/id_XMTA1NDEzODUy.html
的...
-
visual studio 2010编译qt的demo无法运行,求教。
安装的qt-win-opensource-4.8.0-vs2010.exe和qt-vs-addin-1.1.10.exe
然后想运行...
-
QT,'HANDLE'没有命名的一个类型
网上说QT是,一处编写,处处编译,可是我在windows下写好了串口通讯程序,在linux下编译时,却提示'HANDLE'...
-
关于QT的授权
一直都没搞懂QT的商业授权是怎么回事,请问如果我用QT在电视机机顶盒上开发一款基于QT的播放器,如果我没有获得商业授...
-
有关QTable制作表格保存问题
我使用的是QT2,需要制作一个表格,然后输入数据后保存。我源码在以下网址,set.zip压缩包中http://www.qt...
-
Qt怎样禁止用户最大化窗口
用Qt写一个窗口,如果继承QDialog,那窗口就只有关闭按钮,如果继承QWidget,那么就有关闭,最大化,最小化三个按...
-
QT4.4.3版本窗体透明后界面失去焦点无法响应键盘事件
用的是Qt4.4.3版本,窗体透明的方法如下:
C/C++ code
QPalette pal = pale...
-
QT4下载到开发板的问题
友善的2440开发板,按照一些教程装好了QT4在Linux下的开发环境。
用NFS启动开发板,把arm版编译出来的应用程...