![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
QT
mcgrady_tracy
这个作者很懒,什么都没留下…
展开
-
QMainWindow学习-5
菜单栏有了,工具栏也有了,连用户可以输入的编辑框也有了,接下来当然是给我们这些按钮添加动作,以完成一个记事本的功能。1.打开文件首先我们在类中定义一个槽,还记得槽是怎么声明的吗,就是在private slots:下声明一个函数。private slots: void loadFile();然后我们在mainwindow.cpp中实现这个函数,其中我们要用到一个变量,mF原创 2011-11-25 17:16:30 · 3409 阅读 · 0 评论 -
QMainWindow学习-1
什么是QMainWindow?QmainWindow类继承QWidget类,它是QT提供的一个主应用程序窗口类,它包含菜单栏(MenuBar),工具栏(ToolBar),状态栏(StatusBar)以及提供给用户的工作空间(CentralWidget)等。例子#include #include #include int main(int argc, char *原创 2011-11-25 16:45:43 · 1470 阅读 · 0 评论 -
QMainWindow学习-4
如何给工具栏上按钮添加图标在Qt Creator中新建一个Qt Resource file在Add下拉菜单中选择Add Prefix,表示添加一个前缀,这里我们将默认的/new/prefix修改为/,然后在Add下拉菜单中选择Add File,表示将图片添加进来,我们可以在工程目录下新建一个目录,比如images,专门用于存放图片。我们在创建QAction的同时就为这个action原创 2011-11-25 17:14:54 · 1468 阅读 · 0 评论 -
QMainWindow学习-3
1.添加菜单栏我们MainWindow类中添加如下成员QMenu *fileMenu;QAction *newAct;QAction *openAct;QAction *saveAct;其中QMenu代表一个菜单,QAction代表菜单中的一个选项,在头文件里还要增加这两个类的前置声明class QMenu;class Qaction;接下来在声明两个私有函数,原创 2011-11-25 16:51:20 · 3577 阅读 · 0 评论 -
QMainWindow学习-2
<!--pre.western {font-family:"DejaVu Sans Mono",monospace}pre.cjk {font-family:"DejaVu Sans",monospace}pre.ctl {font-family:"DejaVu Sans Mono",monospace}p {margin-bottom:0.21cm}-->原创 2011-11-25 16:49:24 · 4789 阅读 · 0 评论 -
QT布局
关于布局,布局可以采用绝对定位和布局定位,绝对定位就是直接给出坐标值,但是如果用户改变了窗口大小,比如最大化,如果你自己不做处理,那么窗口上面的这些控件还是在原来位置,并不能随着窗口变化而变化。QT提供了布局管理器,可以避免这种问题出现,常用的有水平布局,垂直布局,网格布局在布局管理器中使用addWidget添加一个控件,使用addLayout添加一个子布局1.水平布局原创 2011-11-21 15:38:40 · 5891 阅读 · 0 评论 -
hello world
qt学习第一个程序hello world!新建一个空的工程hello,然后新建一个文件main.cpp,在main.cpp里面添加内容如下#include #include int main(int argc, char *argv[]){ QApplication app(argc, argv); QLabel label(QObject::tr("H原创 2011-11-21 13:57:05 · 652 阅读 · 0 评论 -
QSignalMapper
在QT编程中,如果遇到多个控件,但是他们的槽大致相同,这个该怎么处理,比如10个button,难道要写10个槽,可以不必这样,QSignalMapper可以帮组我们解决。 QSignalMapper *signalMapper = new QSignalMapper(thi原创 2011-11-21 16:28:29 · 14199 阅读 · 2 评论 -
QT信号和槽
信号和槽是QT的核心,在其他GUI中大多采用消息和回调函数,比如win32中#include #include int main(int argc, char *argv[]){ QApplication app(argc, argv); QPushButton button("Quit"); button.show(); QObject原创 2011-11-21 15:48:22 · 854 阅读 · 0 评论 -
QT内存管理
使用new操作符来定义一个对象QVBoxLayout *layout = new QVBoxLayout(&window);另外一种方法QVBoxLayout layout(&window);C++并没有提供内存自动管理机制,通常,需要程序开发人员自己去做这些事情,比如在构造函数中使用了new去申请了一个对象,那么在析构函数中就要显示的调用delete去删除这个对象。但是QT提供了原创 2011-11-21 15:42:34 · 1058 阅读 · 0 评论 -
QT国际化支持
为了是我们的QT程序支持如中文等其他语言,通常的做法是在需要翻译的地方显示的用tr标记,所以你在阅读其他人编写的源程序时会看到很多字符串做了tr标记,这样做是有原因的。1.在hello.pro文件中增加TRANSLATIONS = hello_zh_CN.ts2.进入工程目录,运行lupdate hello.pro,生成hello_zh_CN.ts文件3.使用Qt Creato原创 2011-11-21 15:26:43 · 815 阅读 · 0 评论 -
QMainWindow学习-6
现在我们的按钮还不支持复制,粘贴这些操作,那我们接下来做这些事情。首先我们将剪切和复制两个按钮设置成不可见cutAct->setEnabled(false); copyAct->setEnabled(false);然后加上两个连接connect(textEdit, SIGNAL(copyAvailable(bool)), cutAct,SLOT(setEnabled(boo原创 2011-11-25 17:18:28 · 1201 阅读 · 2 评论