qt文件夹对话框
Ⅰ 点击按钮弹出对话框 qt
我用的qt4+kdevelop开发,我来说一下步骤吧,供你参考:
(ps:qt3是可以建立 C++工程的,qt4只能做界面)
现在,我要建立一个对话框,对话框内只有一个按钮(pushButton),点击按钮会弹出一个MessageBox.步骤如下:
1、新建一个文件夹test3,打开designer制作好界面
2、在test3文件夹内添加3个文件,分别为test3.h,test3.cpp,main.cpp,在test3.h添加如下代码:
#ifndef TEST3_H
#define TEST3_H
#include <QtGui/QDialog>
#include <QStandardItemModel>
#include "ui_test3.h"
class test : public QDialog
{
Q_OBJECT
public:
test(QWidget *parent = 0);
~test();
private:
Ui_Dialog ui;
private slots:
void on_pushButton_clicked();
};
#endif
在test3.cpp中添加如下代码:
#include "test3.h"
#include <QLibrary>
#include <QMessageBox>
test::test(QWidget *parent)
: QDialog(parent)
{
ui.setupUi(this);
}
test::~test()
{
}
void test::on_pushButton_clicked()
{
QMessageBox::information(this,tr("hello"),tr("Mars"));
}
在main.cpp中添加如下代码:
#include <QtGui>
#include <QApplication>
#include "test3.h"
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
test *dialog = new test;
dialog->show();
return app.exec();
}
3、打开控制台,输入如下命令:qmake -project会生成一个test3.pro的工程文件
4、打开kdevelop,选择project->import existing project,选中test3文件夹。
5、build->build project
6、运行吧
再说两句(ps:我承认我多嘴)
vc里面给一个按钮添加事件只需要通过双击按钮就可以了,但是这里不一样,通常情况下有两种方法。1、按照一定的命名规则为一个函数取名字,规则如下:on_name_singal,比如要为pushButton_2添加一个事件,只需要将相应函数命名为 on_pushButton_2_clicked();就可以了.2、使用connect连接控件和相应的函数,比如上面的例子我们可以在构造函数里添加 connect(pushButton,SIGNAL()clicked(),this,SLOT(hahaha()));
(ps:先把on_pushButton_clicked()函数改名为hahaha)
也行。那么,我想你也应该明白代码写在那里了吧,就是在on_pushButton_clicked()函数里面。
我讲完了
Ⅱ 如何修改Qt标准对话框的文字
QT自带的内建标准对话框QFontDialog、QColorDialog、QMessageBox。默认的文字全是英文的。QLineEdit和QTextEdit的右键菜单,默认的文字也全是英文的。
请问,如何可以把文字修改成中文或其他语言文字?
解决方案如下:
简体中文的解决思路是打开Qt安装目录下的translations,找到qt_zh_CN.qm和qt_zh_CN.ts。
直接用qt_zh_CN.qm即可,如果确实有翻译不完全的,打开qt_zh_CN.ts翻译一下重新生成.qm文件即可。
即:把translation/qt_zh_CN.qm加载到QTranslator中。
其他国语言方法类似。
参考源码:
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//加载Qt标准对话框的中文翻译文件
QTranslator tran;
bool ok = tran.load("qt_zh_CN.qm", "C:\\qt\\4.8.5_VS2010\\translations\\");//注,这里使用的是绝对路径,建议把.qm拷贝到工程目录下,然后使用相对路径.
a.installTranslator(&tran);
//加载用户自定义的界面翻译文件
QTranslator user;
ok = user.load("user_zh.qm", ":/");
a.installTranslator(&user);
//设置全局文字大小,非必需,根据自身情况使用
QFont font = a.font();
font.setPointSize(9);
a.setFont(font);
MainWindow w;
w.show();
return a.exec();
}
最终效果图:
如果软件想动态得切换语言,则需要定义一个全局函数供调用,举例如下:
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>
QTranslator g_tran;//必须设置成全局变量,如果是局部变量,设置将失效。
void setLanguage(int lan)//全局函数,可供其他文件调用
{
bool ok = false;
if (lan == 1)//中文
{
ok = g_tran.load("qt_zh_CN.qm", ":/lan/");//这里使用Qt资源文件,把.qm文件拷贝到项目路径/lan之下
}
else if (lan == 2)//英文
{
ok = g_tran.load("", ":/lan/");
}
QCoreApplication::installTranslator(&g_tran);
//或者写成qApp->installTranslator(&g_tran);
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
setLanguage(1);//调用全局函数
MainWindow w;
w.show();
return a.exec();
}
Ⅲ 如何修改Qt标准对话框的文字
解决方案如下:
简体中文的解决思路是打开Qt安装目录下的translations,找到qt_zh_CN.qm和qt_zh_CN.ts。
直接用qt_zh_CN.qm即可,如果确实有翻译不完全的,打开qt_zh_CN.ts翻译一下重新生成.qm文件即可。
即:把translation/qt_zh_CN.qm加载到QTranslator中。
其他国语言方法类似。
参考源码:
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//加载Qt标准对话框的中文翻译文件
QTranslator tran;
bool ok = tran.load("qt_zh_CN.qm", "C:\\qt\\4.8.5_VS2010\\translations\\");//注,这里使用的是绝对路径,建议把.qm拷贝到工程目录下,然后使用相对路径.
a.installTranslator(&tran);
//加载用户自定义的界面翻译文件
QTranslator user;
ok = user.load("user_zh.qm", ":/");
a.installTranslator(&user);
//设置全局文字大小,非必需,根据自身情况使用
QFont font = a.font();
font.setPointSize(9);
a.setFont(font);
MainWindow w;
w.show();
return a.exec();
}
最终效果图:
如果软件想动态得切换语言,则需要定义一个全局函数供调用,举例如下:
#include "mainwindow.h"
#include <QApplication>
#include <QTranslator>
QTranslator g_tran;//必须设置成全局变量,如果是局部变量,设置将失效。
void setLanguage(int lan)//全局函数,可供其他文件调用
{
bool ok = false;
if (lan == 1)//中文
{
ok = g_tran.load("qt_zh_CN.qm", ":/lan/");//这里使用Qt资源文件,把.qm文件拷贝到项目路径/lan之下
}
else if (lan == 2)//英文
{
ok = g_tran.load("", ":/lan/");
}
QCoreApplication::installTranslator(&g_tran);
//或者写成qApp->installTranslator(&g_tran);
}
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
setLanguage(1);//调用全局函数
MainWindow w;
w.show();
return a.exec();
}
Ⅳ QT的打开文件对话框QFileDialog::getOpenFileName怎么调整大小
QFileDialog dlg(this,"open image file");
dlg.resize(400,300);
dlg.setAcceptMode(QFileDialog::AcceptOpen);
dlg.setNameFilter("Images (*.png *.bmp *.jpg)");
dlg.exec();
QStringList files = dlg.selectedFiles();
if(!files.isEmpty()){
QString file = files.at(0);
...
}
Ⅳ Qt中我只建立了一个对话框,我还想添加一个对话框应该怎么做呢
文件-新建文件或项目-在“新建”窗口中左侧选择“Qt”,中间选择“Qt设计师界面类”或“Qt设计师界面”都行,然后再程序中使用就行了
Ⅵ Qt编程怎么实现这种文件选择对话框
使用这个函数QFileDialog::getExistingDirectory
绝对抱你满意
效果图如下,是您要的吧,给分
Ⅶ 如何使用Qt creator在对话框里设计一个文件夹浏览器
如何使用Qt Creator建立简单的对话框程序呢。Qt是强大的C++跨平台类库,对C++中的很多功能都进行了封装和改进,使用起来挺方便的。那怎样用Qt创建简单的对话框程序呢 ^_^
工具/原料
Qt Creator
方法/步骤
打开软件后,点击【New Project】
选择项目下的【应用程序】,然后在右侧选择【Qt Widgets Application】,然后选择右下角的【Choose...】
输入项目的名称,选择好路径,然后下一步
保持默认,继续下一步
输入好类名,选择基类为QDialog。勾选创建界面
注意这里要细心点,因为点击下一步后,不能返回上一步。想改项目的类名或基类,只能重新新建了
点击完成,项目就建立成功了。按F5就可以看到空的对话框啦
双击界面文件下的.ui文件,就可以进行界面设计啦
Ⅷ Qt 有没有文件夹对话框,用来选择文件夹用的
QUrl QFileDialog::getExistingDirectoryUrl(QWidget * parent = 0, const QStrir
Ⅸ Qt中运行产生了的.EXE文件出现下面如图所示的对话框时什么问题
QT默认的编译方式是动态编译,这就需要生成的可执行文件依赖很多库文件才能运行,楼主只要把这些需要的文件复制到当前目录,可执行文件就可以运行了。
库路径:qt安装路径/mingw/bin
qt安装路径/qt/bin
你可以在上述路径中寻找~ 祝愉快~
Ⅹ 怎么在Qt Creator中创建对话框程序
方法/步骤
打开软件后,点击【New Project】
选择项目下的【应用程序】,然后在右侧选择【Qt Widgets Application】,然后选择右下角的【Choose...】
输入项目的名称,选择好路径,然后下一步
保持默认,继续下一步
输入好类名,选择基类为QDialog。勾选创建界面
注意这里要细心点,因为点击下一步后,不能返回上一步。想改项目的类名或基类,只能重新新建了
点击完成,项目就建立成功了。按F5就可以看到空的对话框啦
双击界面文件下的.ui文件,就可以进行界面设计啦