qt 设置按钮大小_QT的用法心得笔记

QT的自动滚动区QScrollArea的用法,图文详解_野生猿-群号1025127672-CSDN博客_qscrollarea​blog.csdn.net
qt 设置按钮大小_QT的用法心得笔记_第1张图片

这个的代码最后一段是缺少的.需要加几行.

 scrollArea->setWidget(pWgt);
      setCentralWidget(scrollArea);
QScrollArea 用法 - wjbooks - 博客园​www.cnblogs.com
#include 
  • error: invalid use of incomplete type 'const class QMimeData',其中红色字体的部分为可变项,'const class xxx',xxx只要为Qt中支持的类即适用。

出现上述的问题的原因为:工程中没有包含对应类的头文件 。

  • 怎么让窗口显示?

Layout相当于布局好了的容器,而Widget相当于要加入这个容器中的东西.

addLayout 是添加一个布局,addWidget 是添加一个部件, 而Layout是由许多部件组成

layout->addWidget(widgetMain,0,1) 第0行,第1列.

btn->setText("OK"); //设置名字

Qstring的用法:

QString("") .arg用法之最详细篇​blog.csdn.net
qt 设置按钮大小_QT的用法心得笔记_第2张图片

LineEdit是单行的;TextEdit是多行的

QT中LineEdit、TextEdit、PlainTextEdit这三个控件区别为:

输du入内容不同、用途不同、限制行数不同。

一、输入内容不同1、LineEdit:LineEdit的输入内容为单行文本输入。

2、TextEdit:TextEdit的输入内容为多行文本输入。

3、PlainTextEdit :PlainTextEdit的输入内容为多行文本输入。

二、用途不同

1、LineEdit:LineEdit多用于用户名、密码等少量文本交互地方。

2、TextEdit:TextEdit多用于显示较多信息展示的地方,也可以显示HTML格式文本。

3、PlainTextEdit :PlainTextEdit用于需要与文本进行处理的地方。

Qt中的ui(new Ui::Widget)是什么意思呢?new就是新建,UI::Widget就是一个Widget界面,所以就是初始化一个Widget界面指针,其变量名为ui。

gridLayout_Body->addLayout(verLayout,1,1);
    verLayout->addWidget(lineEdit,1);
    verLayout->addWidget(btn,1);

是显示不出来的,我还不知道为什么,有待研究widget和layout的关系.

窗体设置网格布局 ,使得QScrollArea的大小受窗体大小驱动, 打破布局时,界面缩放时,控件没法跟着缩放.

error: invalid use of incomplete type 'const class QMimeData',

其中红色字体的部分为可变项,'const class xxx',xxx只要为Qt中支持的类即适用。

出现上述的问题的原因为:工程中没有包含对应类的头文件 。

怎么让窗口显示?

Layout相当于布局好了的容器,而Widget相当于要加入这个容器中的东西.

addLayout 是添加一个布局,addWidget 是添加一个部件, 而Layout是由许多部件组成

layout->addWidget(widgetMain,0,1) 第0行,第1列.

btn->setText("OK"); //设置名字

Qstring的用法:QString("") .arg用法之最详细篇

Qt中的ui(new Ui::Widget)是什么意思呢?new就是新建,UI::Widget就是一个Widget界面,所以就是初始化一个Widget界面指针,其变量名为ui

窗体设置网格布局 ,使得QScrollArea的大小受窗体大小驱动,打破布局时,界面缩放时,控件没法跟着缩放

编译错误:

  • QMetaObject::connectSlotsByName: No matching signal for on_pushButton_clicked()

他这句话的意思是,你之前UI创建了一个pushButton的按钮,而且选择了关联槽,之后你将该pussButton给删除了或者改了名字,此时系统找不到改pushButton进行信号关联操作,

因此会提示你这个错误,你类里面关于该函数的函数删除就行了,记得是类定义里面的。

  • Qt 5 error: C1083: 无法打开包括文件: “Qdialog”: No such file or directory

Qt5的GUI模块变动了,所有的QWidget都被剥离出来,单独成为qtwidgets模块
所以pro里要添加如下的代码(假设有 widgets network svg模块):

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets network svg

然后在构建菜单下 清理项目
在构建菜单下 重新执行qmake
在构建菜单下 构建项目“***”
在构建菜单下 运行 (或者直接重新构建似乎也可以)

Q: 点击按钮 一次出现两个新窗口?

A:如果把槽函数定义成on__时会发现信号与槽在ui_xxxxx.h头文件中connect了两次,导致的结果是当点击add新建对话框时,会新建2个对话框。

注释掉connect项或者注释掉QMetaObject::connectSlotsByName(AddressBookClass);这项即可解决。

但是这并不是最好的解决方案,最好的是定义槽函数的时候不按这个规则on__《signals>来定义槽函数。

  • QLabel 文本内容自动换行显示 ,需要把QLabel的WordWrap属性设置成TRUE

永久默认支持c++17的设置方法

让Qt5默认支持C++17的设置方法_日沉云起的博客-CSDN博客_qt c++17

找到Qt5的安装目录,我的安装目录是在D盘Qt5.12.3文件夹下,

打开如下目录:D:Qt5.12.3ToolsQtCreatorshareqtcreatortemplateswizardsprojectsplaincpp,

找到file.pro文件,用记事本打开该文件,将CONFIG += console c++11修改为CONFIG += console c++17,以后新建的项目就都默认支持c++17了。

  • 在使用SDL库的时候会在编译时报出以下错误
1>MSVCRTD.lib(exe_main.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 “int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ) 中被引用

是main函数没有找到 ,main函数没有找到的主要原因是SDL中把main从新定义一个新的意义SDL使用了

有个解决方法是 项目属性----》连接器----》系统-----》子系统----》窗口 (/SUBSYSTEM:WINDOWS)改为控制台 (/SUBSYSTEM:CONSOLE)。此时,程序运行时,会先启动一个终端,之后启动GUI界面。

你可能感兴趣的:(qt,设置按钮大小,QT随机放1个1和七个2)