yafeilinux 发表于 2014-7-5 22:32:23

aa88158859 发表于 2014-7-5 13:28 static/image/common/back.gif
在主界面设置一个按钮名字为注销 按下返回到登录对话框   

void MainWindow:n_pushButton_clicked()


添加:
hide();

aa88158859 发表于 2014-7-7 12:28:07

这样子第2次登录的时候 不会跳转到主界面而是直接退出了为什么求解?

yafeilinux 发表于 2014-7-7 22:53:13

aa88158859 发表于 2014-7-7 12:28 static/image/common/back.gif
这样子第2次登录的时候 不会跳转到主界面而是直接退出了为什么求解?

把函数改成下面这样试试。

void MainWindow:n_pushButton_clicked()
{
    LoginDialog *dlg=new LoginDialog(this);
    dlg->show();

hide();

connect(dlg,SIGNAL(accepted()),this,SLOT(show()));

}

因为第一次是在main()函数中进行了设置,点击登陆按钮可以调用主窗口的show();但是现在已经不在main()函数中了,点击登陆按钮,只会关闭登陆窗口,因为程序已经没有可视窗口了,所以就退出了。

睿ssss2013 发表于 2014-7-20 15:32:46

zhanglin 发表于 2013-5-29 22:46 static/image/common/back.gif
LoginDialog dlg;
    if (dlg.exec() == QDialog::Accepted)
C:\Qt\qtcreator-2.4.1\login-build-desktop ...

这个代码好像有点问题

睿ssss2013 发表于 2014-7-20 15:33:25

yafeilinux 发表于 2013-5-30 19:26 static/image/common/back.gif
看是否添加了改类的头文件;或者该类是否定义了。

改成loingdialog,应该就对啦

RichardDL 发表于 2014-8-21 16:28:41

楼主,我想问为什么在ui界面中添加控件在对应的.cpp文件里看不到变化呢?按理说界面跟代码是一一对应的,QT里的对应机制是怎样的呢

yafeilinux 发表于 2014-8-27 21:22:00

RichardDL 发表于 2014-8-21 16:28 static/image/common/back.gif
楼主,我想问为什么在ui界面中添加控件在对应的.cpp文件里看不到变化呢?按理说界面跟代码是一一对应的,QT ...

ui对应的是一个ui_xxx.h文件,这个文件可以在项目源码目录中看到。

具体可以参考《Qt Creator快速入门》第2.3.2小节的内容。

zhangleilinux 发表于 2014-9-10 19:29:32

太好了!准备每天早上对着这个做实验

myliqi2008 发表于 2014-10-27 15:55:25

慢慢学咯,还要补补C++才好

caterpillar 发表于 2014-12-8 22:42:39

楼主,那个“用户名:”和“密码:”是怎么添加上的

yafeilinux 发表于 2014-12-10 22:41:32

caterpillar 发表于 2014-12-8 22:42 static/image/common/back.gif
楼主,那个“用户名:”和“密码:”是怎么添加上的

添加Label标签部件,然后修改显示文本。

caterpillar 发表于 2014-12-11 09:35:13

yafeilinux 发表于 2014-12-10 22:41 static/image/common/back.gif
添加Label标签部件,然后修改显示文本。

啊~这样子,谢谢楼主

ssd991300476 发表于 2014-12-11 13:29:29

为什么昨天我在win7的qt4上做没错,今天在ubuntu的qt5上面做就报错呢:'ui' was not declared in this scope       ?

ssd991300476 发表于 2014-12-11 13:59:25

ssd991300476 发表于 2014-12-11 13:29 static/image/common/back.gif
为什么昨天我在win7的qt4上做没错,今天在ubuntu的qt5上面做就报错呢:'ui' was not declared in this scope...

弄好了,原来前面没有定义ui,我需要用this

jheyan 发表于 2014-12-16 11:52:57

有代码真的是太好了。VS和QT Creator差别还是有些大

lace 发表于 2014-12-25 21:23:10

@yafeilinux 我怎样在这个基础上,在 Login界面上增加一个设置按钮,以此再弹一个Login的子窗口来优先设置一些参数,如连接数据库的服务器IP地址。
若在logindilalog 类中:#ifndef LOGINDIALOG_H
#define LOGINDIALOG_H

#include <QDialog>
#include "settingdialog.h"
namespace Ui {
class LoginDialog;
}

class LoginDialog : public QDialog
{
    Q_OBJECT
   
public:
    explicit LoginDialog(QWidget *parent = 0);
    ~LoginDialog();
   
private slots:
    void on_loginBtn_clicked();

    void on_settingLinkButton_clicked();

private:
    Ui::LoginDialog *ui;
    settingDialog settingForm; //就是这儿了
};

#####接着通过QSS 设置信号槽来显示###
void LoginDialog::on_loginBtn_clicked()
{

    if(ui->usrLineEdit->text().trimmed() == tr("yafeilinux")
            && ui->pwdLineEdit->text() == tr("123456"))
    {
      accept();
    } else {
      QMessageBox::warning(this, tr("Waring"),
                           tr("user name or password error!"),
                           QMessageBox::Yes);

      ui->usrLineEdit->clear();
      ui->pwdLineEdit->clear();
      ui->usrLineEdit->setFocus();
    }
}

void LoginDialog::on_settingLinkButton_clicked()
{
       settingForm.show(); ///就是这儿了

}

#endif // LOGINDIALOG_H接着怎样将SettingForm 设为锁定窗口优先处理呀?

yafeilinux 发表于 2014-12-25 21:48:02

lace 发表于 2014-12-25 21:23 static/image/common/back.gif
@yafeilinux 我怎样在这个基础上,在 Login界面上增加一个设置按钮,以此再弹一个Login的子窗口来优先设置 ...

什么是锁定窗口优先处理呢?

你这样写: settingForm.exec();

是不是这个效果。

lace 发表于 2014-12-25 21:56:59

yafeilinux 发表于 2014-12-25 21:48 static/image/common/back.gif
什么是锁定窗口优先处理呢?

你这样写: settingForm.exec();


奇了,可以了。。就把settingForm.show()改为settingForm.exec();thanks.你的答复好快呀。。感谢就是这个效果了。。

maxud 发表于 2015-3-7 18:47:19

451506709 发表于 2013-5-4 15:23 static/image/common/back.gif
看了好多篇帖子,以前都是喜欢用Windows下的VS写的,看来要尝试下在QT下开发小小的Applicatio ...

为什么不用labview ,那个做波形图更简单更专业

武林萌主 发表于 2015-4-21 21:54:00

用代码怎么设置setEchoMode??
页: 1 2 3 [4] 5 6 7 8
查看完整版本: 第3篇 基础(三)Qt登录对话框