yafeilinux
发表于 2013-10-14 22:54:16
心寒若冰 发表于 2013-10-14 16:20 static/image/common/back.gif
yafeilinux老师,还有个问题,我的界面中有三个lineEdit,但是通过界面上的数字按键输入时,想区别目前哪 ...
可以使用例如ui->lineEdit01->hasFocus()这样的方式来判断,
不过,一般你点击按钮的时候,按钮就会获得焦点,这个函数就没有效果了。
所以需要在构造函数里面先让所有按钮都不获取焦点,例如:
ui->pushButton->setFocusPolicy(Qt::NoFocus);
心寒若冰
发表于 2013-10-15 09:45:42
yafeilinux 发表于 2013-10-14 22:54 static/image/common/back.gif
可以使用例如ui->lineEdit01->hasFocus()这样的方式来判断,
不过,一般你点击按钮的时候,按钮就会获得 ...
非常感谢,之前只设置过hasFocus()函数,没想到还要对pushbutton进行设置,长知识了。另外,我想实现在鼠标点击多个lineEdit进行切换时,可以实现lineEdit其背景色改变,想通过信号槽函数实现,可是lineEdit没有对应的信号函数,有没有好的解决方案呢??
yafeilinux
发表于 2013-10-15 11:48:12
心寒若冰 发表于 2013-10-15 09:45 static/image/common/back.gif
非常感谢,之前只设置过hasFocus()函数,没想到还要对pushbutton进行设置,长知识了。另外,我想实现在鼠 ...
这个可以通过样式表来实现,设置鼠标点击时更改颜色。
心寒若冰
发表于 2013-10-15 15:37:49
yafeilinux 发表于 2013-10-15 11:48 static/image/common/back.gif
这个可以通过样式表来实现,设置鼠标点击时更改颜色。
样式表中selection-background-color函数是在选中某个lineEdit中的文字时,文字背景色高亮,我想实现的是选中某个lineEdit框时,该框背景色高亮。样式表没有找到鼠标点击时更改颜色的选项啊?
yafeilinux
发表于 2013-10-15 19:15:17
心寒若冰 发表于 2013-10-15 15:37 static/image/common/back.gif
样式表中selection-background-color函数是在选中某个lineEdit中的文字时,文字背景色高亮,我想实现的是 ...
在cursorPositionChanged信号对应的槽里面改就可以了
chenjieat
发表于 2013-11-25 13:32:34
学习了,谢谢楼主分享~~~
xinkexue
发表于 2013-12-28 17:25:56
ui->usrLineEdit->text().trimmed() == tr("yafeilinux")
啥时候用->啥时候用.?
yafeilinux
发表于 2014-1-9 22:11:33
xinkexue 发表于 2013-12-28 17:25 static/image/common/back.gif
ui->usrLineEdit->text().trimmed() == tr("yafeilinux")
啥时候用->啥时候用.?
简单来说指针用->,而普通变量用.
这个是C++的知识,在Qt Creator中直接按下.按键,会根据实际情况自动生成.或者->的。
WpKeane
发表于 2014-3-2 20:09:19
我想问一下,我用的是VS2010,右键登陆按钮时没有“转到槽。。。”这个选项怎么办?
yafeilinux
发表于 2014-3-3 11:15:01
WpKeane 发表于 2014-3-2 20:09 static/image/common/back.gif
我想问一下,我用的是VS2010,右键登陆按钮时没有“转到槽。。。”这个选项怎么办? ...
这个是Qt Creator设计器中才有的。没有的话就只能写代码了。
但是如果是初学者,估计很难完成。
建议还是先使用Qt Creator吧,等以后再用vs
WpKeane
发表于 2014-3-3 17:55:45
yafeilinux 发表于 2014-3-3 11:15 static/image/common/back.gif
这个是Qt Creator设计器中才有的。没有的话就只能写代码了。
但是如果是初学者,估计很难完成。
我试着在头文件中定义按钮点击函数,然后在源文件中实现,好像也可以!主要我最终是要将以前用MFC写的软件重新在Qt中实现,就选择用VS了!
Masterzhoujun
发表于 2014-3-4 17:30:23
你好!我在右键点击登录,选择转到槽,选择clicked()后会弹出来一个对话框:找不到符合“ui_LoginDialog.h”的文档。这该怎么解决啊!我是新手,不会弄
yafeilinux
发表于 2014-3-4 21:44:36
Masterzhoujun 发表于 2014-3-4 17:30 static/image/common/back.gif
你好!我在右键点击登录,选择转到槽,选择clicked()后会弹出来一个对话框:找不到符合“ui_LoginDialog.h ...
只能说明没有按照步骤来。
也可以下载最后面的源码测试。
elvis_w
发表于 2014-3-24 13:48:45
话说accept()函数到底是做什么的呢?
cathyi
发表于 2014-3-25 18:08:09
本帖最后由 cathyi 于 2014-3-26 18:42 编辑
亚飞老师我有三个问题,
1., w.show();
return a.exec();中,w.show()函数为什么没有一闪而过?是a.exec()将窗口保持了?不太明白a.exec()的作用。
2.void LoginDialog::on_loginButton_clicked()
{
if(ui->userlineEdit->text()==tr("fsy")&&ui->pwdlineEdit->text()==tr("love"))
{
accept();
}
else{
QMessageBox::warning(this, tr("Waring"),
tr("user name or password error!"),QMessageBox::Yes,QMessageBox::No);
if(QMessageBox::Yes)// 清空内容并定位光标
{
ui->userlineEdit->clear();
ui->pwdlineEdit->clear();
ui->userlineEdit->setFocus();
}
else
{
close();
}
}
}
如何在这段代码里实现点yes清除,点no关闭QMessageBox 和logindialog?
3.void LoginDialog::on_userlineEdit_returnPressed()
{
ui->pwdlineEdit->setFocus();
}
这里希望在用户名输完后按enter键能focus到pwdlineEdit,这里按enter直接跳到了messagebox了,问题在哪?是否是操作不对?
yafeilinux
发表于 2014-3-28 20:39:56
cathyi 发表于 2014-3-25 18:08 static/image/common/back.gif
亚飞老师我有三个问题,
1.,中,w.show()函数为什么没有一闪而过?是a.exec()将窗口保持了?不太明白a.exe ...
第一,之所以w.show()可以显示而没有一闪而过,是因为a.exe()的原因,这个是事件循环。你可以这样理解:普通函数里面w.show()一闪而过,是因为普通函数执行完了;但是现在是在main()函数中,它永远不会退出。
第二,不想显示哪个按钮,不添加就行了,就是在调用QMessageBox的时候不要写QMessageBox::Yes即可。
第三,这个看上去是没有问题的,应该这么做,但是你的程序没有实现想要的效果,需要自己看下是哪里设置出现的问题。
ydd1978
发表于 2014-6-16 15:36:57
真的很不错,每天一步一步进阶吧
aa88158859
发表于 2014-7-4 18:12:30
为什么看不见图片
:'(:'(:'(
yafeilinux
发表于 2014-7-4 21:07:55
aa88158859 发表于 2014-7-4 18:12 static/image/common/back.gif
为什么看不见图片
登陆以后应该可以看到的
aa88158859
发表于 2014-7-5 13:28:05
在主界面设置一个按钮名字为注销 按下返回到登录对话框
void MainWindow::on_pushButton_clicked()
{
LoginDialog *dlg=new LoginDialog(this);
dlg->show();
}
这样子不能把主界面关闭 有什么方法可以实现?