linux系统及编程基础课后答案(6)

2019-01-19 15:52

for(i=0;i<100;i++) number[i]='\\0'; }

void on_eq_clicked(GtkButton *button,gpointer data) {

double numb; gchar *result; gchar num[100]; switch(s) {

case 1:

numb=nn+mm; break; case 2:

numb=nn-mm; break; case 3:

numb=nn*mm; break; case 4:

if(mm==0) {

gtk_entry_set_text(GTK_ENTRY(entry),\ break; }

numb=nn/mm; break; }

result=g_ascii_dtostr(num,100,numb); gtk_entry_set_text(GTK_ENTRY(entry),result); have_result=TRUE; }

int main(int argc,char* argv[]) {

GtkWidget *window; GtkWidget *vbox;

GtkWidget *hbox,*hbox1,*hbox2,*hbox3,*hbox4; GtkWidget *button; GtkWidget *label; GtkWidget *label1;

gtk_init(&argc,&argv);

window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size(GTK_WINDOW(window),500,300); gtk_container_set_border_width(GTK_CONTAINER(window),10); gtk_window_set_title(GTK_WINDOW(window),\计算器\

gtk_window_set_position(GTK_WINDOW(window),GTK_WIN_POS_CENTER);

g_signal_connect(G_OBJECT(window),\

vbox=gtk_vbox_new(TRUE,0);

gtk_container_add(GTK_CONTAINER(window),vbox); hbox=gtk_hbox_new(TRUE,0);

gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,5); label=gtk_label_new(\

gtk_box_pack_start(GTK_BOX(hbox),label,TRUE,TRUE,5); label1=gtk_label_new(\

gtk_box_pack_start(GTK_BOX(hbox),label1,TRUE,TRUE,5);

time_t now;

struct tm *l_time; gchar buf[100];

now=time((time_t *)NULL); l_time=localtime(&now);

sprintf(buf,\ gtk_label_set_text(GTK_LABEL(label1),buf);

button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\

entry=gtk_entry_new();

gtk_editable_set_editable(GTK_EDITABLE(entry),FALSE); gtk_widget_set_direction(entry,GTK_TEXT_DIR_RTL); gtk_box_pack_start(GTK_BOX(vbox),entry,TRUE,TRUE,5);

hbox1=gtk_hbox_new(FALSE,0);

gtk_box_pack_start(GTK_BOX(vbox),hbox1,TRUE,TRUE,5); button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox1),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox1),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox1),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox1),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\

hbox2=gtk_hbox_new(FALSE,0);

gtk_box_pack_start(GTK_BOX(vbox),hbox2,TRUE,TRUE,5); button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox2),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox2),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox2),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox2),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\

hbox3=gtk_hbox_new(FALSE,0);

gtk_box_pack_start(GTK_BOX(vbox),hbox3,TRUE,TRUE,5); button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox3),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox3),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox3),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox3),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\

hbox4=gtk_hbox_new(FALSE,0);

gtk_box_pack_start(GTK_BOX(vbox),hbox4,TRUE,TRUE,5); button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox4),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox4),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox4),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\ button=gtk_button_new_with_label(\

gtk_box_pack_start(GTK_BOX(hbox4),button,TRUE,TRUE,5);

g_signal_connect(G_OBJECT(button),\

gtk_widget_show_all(window); gtk_main(); return FALSE; }

运行结果图:

第9章 习题答案

1. Qt自带图形开发工具由哪些工具组成?

答:Qt Designer可视化地设计视窗,Qmake由简单的宇平台无关的项目文件生成Makefile,Qt助手快速地发现你所需要的帮助,qembed转换数据,比如把图片转还为C++代码,qvfb在桌面上运行和测试嵌入式应用程序,makeqpf为嵌入式设备提供预先做好的字体,moc元对象编译器,uic用户界面编译器,qtconfig一个基于Unix的Qt配置工具,这里是在线帮助。

2. 在无第三方开发工具的情况下,如何编译QT程序?

答:先用vi编辑源代码保存,在编译程序之前,要首先生成它的Makefile文件。打开一个终端,然后切换至

保存有项目的位置,使用以下命令来生成Makefile文件:

[root@localhost~]#qmake -o Makefile hellopro

现在,就可以运行make来编译程序了,根据系统的性能,这个步骤需要花费一点时间。当编译工作完成后,[root@localhost~]#qmake -o Makefile hellopro [root@localhost~]#make [root@localhost~]#.hello

3. Qt编程的核心机制是什么?与Windows编程有什么异同点?

答:信号(signals)和槽(slots)机制是Qt的核心机制,信号和槽是一种高级接口,应用于对象之间的通信,它是Qt的核心特性,也是Qt区别于其它工具包的重要地方。信号和槽是Qt自行定义的一种通信机制,它独立于标准的C/C++语言,因此要正确的处理信号和槽,必须借助一个称为moc(Meta Object Compiler)的Qt工具,该工具是一个 C++ 预处理程序,它为高层次的事件处理自动生成所需要的附加代码。它与Windows事件驱动机制相类似又不完全相同。

4. Eclipse+Qt开发环境的配置过程是什么?试搭建起Eclipse+Qt开发平台。

答:先安装Eclips,然后到这个网站http://qt.nokia.com/developer/eclipse-integration上去下载Qt plugin压缩包,解压得到两个子文件夹分别为plugins和features,将这两个文件夹覆盖/usr/lib/eclipse/文件夹下的同名文件夹,打开Eclipse , 在\窗口->首选项->qt\里配置如下信息:

Name : Qt

Bin Path : /usr/lib/qt4/bin Include Path : /usr/include/ 5. 标准输入框能为哪些数据类型的提供输入?

答:标准输入框能提供多种数据类型的输入,比如字符串,Int类型,Double类型或是下拉列表框的条目。 6. 基于QT编写一个计算器程序。 答:源代码仅供参考: main.cpp: #include \#include int main(int argc, char **argv) {

int result = 0;

QApplication app(argc, argv); CWidget *main = new CWidget(); main->setCaption(\

app.connect(&app,SIGNAL(lastWindowClosed()),SLOT(quit())); main->show(); result = app.exec(); return result; }

cwidget.h:

#ifndef CWIDGET_H #define CWIDGET_H #include

输入./hello来运行程序。以上整个的编译运行命令行过程总结如下:


linux系统及编程基础课后答案(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:生产与运营管理A卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: