QT
mcgrady_tracy
这个作者很懒,什么都没留下…
展开
-
QMainWindow学习-5
菜单栏有了,工具栏也有了,连用户可以输入的编辑框也有了,接下来当然是给我们这些按钮添加动作,以完成一个记事本的功能。 1.打开文件 首先我们在类中定义一个槽,还记得槽是怎么声明的吗,就是在private slots:下声明一个函数。 private slots: void loadFile(); 然后我们在mainwindow.cpp中实现这个函数,其中我们要用到一个变量,mF原创 2011-11-25 17:16:30 · 3397 阅读 · 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 · 1456 阅读 · 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 · 1455 阅读 · 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 · 3566 阅读 · 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 · 4761 阅读 · 0 评论 -
QT布局
关于布局,布局可以采用绝对定位和布局定位,绝对定位就是直接给出坐标值,但是如果用户改变了窗口大小,比如最大化,如果你自己不做处理,那么窗口上面的这些控件还是在原来位置,并不能随着窗口变化而变化。 QT提供了布局管理器,可以避免这种问题出现,常用的有水平布局,垂直布局,网格布局 在布局管理器中使用addWidget添加一个控件,使用addLayout添加一个子布局 1.水平布局原创 2011-11-21 15:38:40 · 5866 阅读 · 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 · 641 阅读 · 0 评论 -
QSignalMapper
在QT编程中,如果遇到多个控件,但是他们的槽大致相同,这个该怎么处理,比如10个button,难道要写10个槽,可以不必这样,QSignalMapper可以帮组我们解决。 QSignalMapper *signalMapper = new QSignalMapper(thi原创 2011-11-21 16:28:29 · 14189 阅读 · 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 · 847 阅读 · 0 评论 -
QT内存管理
使用new操作符来定义一个对象 QVBoxLayout *layout = new QVBoxLayout(&window); 另外一种方法 QVBoxLayout layout(&window); C++并没有提供内存自动管理机制,通常,需要程序开发人员自己去做这些事情,比如在构造函数中使用了new去申请了一个对象,那么在析构函数中就要显示的调用delete去删除这个对象。但是QT提供了原创 2011-11-21 15:42:34 · 1049 阅读 · 0 评论 -
QT国际化支持
为了是我们的QT程序支持如中文等其他语言,通常的做法是在需要翻译的地方显示的用tr标记,所以你在阅读其他人编写的源程序时会看到很多字符串做了tr标记,这样做是有原因的。 1.在hello.pro文件中增加 TRANSLATIONS = hello_zh_CN.ts 2.进入工程目录,运行 lupdate hello.pro,生成hello_zh_CN.ts文件 3.使用Qt Creato原创 2011-11-21 15:26:43 · 805 阅读 · 0 评论 -
QMainWindow学习-6
现在我们的按钮还不支持复制,粘贴这些操作,那我们接下来做这些事情。 首先我们将剪切和复制两个按钮设置成不可见 cutAct->setEnabled(false); copyAct->setEnabled(false); 然后加上两个连接 connect(textEdit, SIGNAL(copyAvailable(bool)), cutAct, SLOT(setEnabled(boo原创 2011-11-25 17:18:28 · 1185 阅读 · 2 评论