Qt常用小技巧

(1)用于调试程序。
QMessageBox *informationBox =new QMessageBox (QMessageBox::Information, tr(""), tr(""),0);//用于调试程序  
informationBox->exec();
if (informationBox->close())
{
    delete message;
}

//或者
QMessageBox::information(0, tr("Error"), tr("Failed!")); 
 
(2)创建标准文件对话框

QFileDialog *dialog = new QFileDialog( this,"file dialog name" ,".",tr("files(*.jpg)"));
if ( dialog->exec()== QFileDialog::Accepted)
{

}
(3)QString 转char*

QString string;
QByteArray temp = string.toLatin1();
char* charString = temp.data(); 
(4)中文乱码解决办法

#include <QTextCodec>
QTextCodec::setCodecForTr(QTextCodec::codecForLocale());//支持中文显示
(5)给对话框添加最大化最小化按钮

Qt::WindowFlags flags = Qt::Dialog;
flags |=Qt::WindowMinimizeButtonHint;
flags |=Qt::WindowMaximizeButtonHint;
setWindowFlags(flags);
(6)QString 转 std::string

QString qs;
std::string current_locale_text = qs.toLocal8Bit().constData();
(7)std::string 转QString

std::string str = "abc";
QString qstr = QString::fromStdString(str);
(8)建立对话框

如果要在构造函数中对对话框内容进行丰富的话, 其他代码要在SetupUi() 执行之后再写。否则会出现其他错误。

(9)QString 创建

QString str = QString( "%1\n%2\n%3\n%4\n").arg(str1).arg(str2).arg(str3).arg(str4) ;
(10)常用对话框

QMessageBox , QFileDialog 可直接调用其静态函数,方便。

QMessageBox::about();
QFileDialog::getOpenFileName();

(11)模态对话框

Dialog dialog(this);
if (dialog.exec()) 
{
    //something else;
}

(12)非模态对话框
if (!dialog) 
{
     dialog = new Dialog(this);
    //something else;
 }
    dialog->show();
    dialog->raise();
    dialog->activateWindow();
(13)关闭窗口时删除内存
MainWindow::MainWindow()
{
     setAttribute(Qt::WA_DeleteOnClose);
}

更多设置参照Qt::WidgetAttribute。

(14)显示图片

搭配QScrollArea 和QLabel 来显示图片,切记QtDesigner 中设置QLabel 的MinimumSize 为 0,0。否则可能会显示不全图片。


(15)QMainWindow设置Layout

其中centerWidget中至少需要加入一个部件,再设置布局。然后可以将该部件删掉。

(16)Qt Designer中QWidget相关设置

sizePolicy设置为Expanding, Expanding.

minimumSize 和 maximumSize 再设置相关高度

(17)创建程序图标

VS中先新建.rc文件,打开后添加 IDI_ICON1 ICON DISCARDABLE "myappico.ico"

(18)以固定高度在widget中添加某一项

QtDesigner中调整Layout的layoutSizeConstraint为SetFixedSize。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值